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
。显示您拥有的全部代码。