Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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 Laravel雄辩-检查返回的对象是否有效_Php_Laravel_Eloquent - Fatal编程技术网

Php Laravel雄辩-检查返回的对象是否有效

Php Laravel雄辩-检查返回的对象是否有效,php,laravel,eloquent,Php,Laravel,Eloquent,我用拉威尔的雄辩来检索对象,我试着看看对象是否有效 比如说 $user=user->where('first_name','Adam')->first();//如果没有Adams怎么办? 当没有Adams时,我得到一个生成器对象,当有Adams时得到一个用户对象。如果不使用instanceof,是否有办法确定返回的对象是否为有效用户?理想情况下,Eloquent会返回一个null或某个InvalidObject对象作为响应。如果您的查询没有匹配项,那么$user应该是一个错误的值 if

我用拉威尔的雄辩来检索对象,我试着看看对象是否有效

比如说

$user=user->where('first_name','Adam')->first();//如果没有Adams怎么办?


当没有Adams时,我得到一个生成器对象,当有Adams时得到一个用户对象。如果不使用instanceof,是否有办法确定返回的对象是否为有效用户?理想情况下,Eloquent会返回一个null或某个InvalidObject对象作为响应。

如果您的查询没有匹配项,那么$user应该是一个错误的值

    if (!$user) {
        App::abort(404, 'User record does not exist');
    }

方法return
null
如果找不到模型,您也可以使用
firstOrFail
方法抛出异常

这对我有效,希望对其他人有所帮助 我试过这个,它对我有效

$model = Leadset::where('name',$data['name'])->first();
if(!$model) echo "no name found";

不幸的是,我得到了一个Builder对象。而
first或fail
返回第一个结果或引发异常?结果是另一个开发人员重写了first()方法。无法从
first
返回
Builder
。它可能是
Model
null
,但是请注意,在
Model
上调用任何生成器方法都将返回
Builder
。显示您拥有的全部代码。