我正在使用Laravel 5.5
,我有以下查询:
$instru = Instruments::where('name', '=', $coinArr[$key])->first();
$i = Revision::where('id', '=', $instru->revisions_id)->first();
if ($i === NULL) { ...
在设置案例中$instru = NULL
因此对Revision
模型的查询不起作用。
我的问题是,如果我var_dump($i)
我得到以下错误,不要遇到if-clause
。
[2017-12-26 21:38:10] local.ERROR: Trying to get property of non-object
有什么建议如何处理这个案子?
你应该改变:
$i = Revision::where('id', '=', $instru->revisions_id)->first();
成:
$i = $instru ? Revision::where('id', '=', $instru->revisions_id)->first() : null;
这是因为在某些情况下$instru
为null,当$instru->revisions_id
为null时,你无法运行$instru