温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - PHP set empty field in database to value
database laravel-5 php

其他 - PHP将数据库中的空字段设置为value

发布于 2020-03-31 23:14:20

如果字段为空,我的目标是设置值。

但是出现“想获取非对象的属性”错误。

last_day是空字段,如何分配值1?

public function getPointsForExercises(){
        $ls = Auth::user()->lessons()->get();
        $last_day = Auth::user()->user_settings->last_day;
            if (empty($user->user_settings->last_lesson)) {
                $user->user_settings->last_lesson = 1; 
           } 

查看更多

提问者
novice
被浏览
79
Andrew Larsen 2020-01-31 19:22

第一个问题:$user未定义变量。

您可以尝试使用该exists函数来确保所存在的关系存在,然后使用该函数来更新值update,如下所示:

public function getPointsForExercises() {
    $ls = Auth::user()->lessons()->get();
    $last_day = Auth::user()->user_settings->last_day;

    if (Auth::user()->user_settings()->exists() && empty(Auth::user()->user_settings->last_lesson)) {
        Auth::user()->user_settings()->update([
            'last_lesson' => 1
        ]); 
    } 

上面的代码并没有结束函数,也没有使用变量$ls$last_day作为您的代码。