Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP将数据库中的空字段设置为值_Php_Database_Laravel 5 - Fatal编程技术网

PHP将数据库中的空字段设置为值

PHP将数据库中的空字段设置为值,php,database,laravel-5,Php,Database,Laravel 5,如果字段为空,我的目标是设置值 但出现“尝试获取非对象的属性”错误 最后一天是空字段,如何赋值1 public function getPointsForExercises(){ $ls = Auth::user()->lessons()->get(); $last_day = Auth::user()->user_settings->last_day; if (empty($user->user_settin

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

但出现“尝试获取非对象的属性”错误

最后一天是空字段,如何赋值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; 
           } 

您没有设置$user对象

首先,您必须制作对象:

$user = Auth::user()

第一个问题:
$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\u day
作为代码。

仍然行$last\u day=Auth::user()->user\u settings->last\u day;获取错误“尝试获取非对象的属性”如果
用户\u设置不存在,您将获得错误“是”。您没有检查它是否存在。可以用这样的一行代码轻松解决:
$last_day=(Auth::user()->user_settings()->exists()?Auth::user()->user_settings->last_day:“如果不存在,则默认值”)