我正在使用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
有关如何处理此案的任何建议吗?
答案 0 :(得分:3)
你应该改变:
$i = Revision::where('id', '=', $instru->revisions_id)->first();
成:
$i = $instru ? Revision::where('id', '=', $instru->revisions_id)->first() : null;
这是因为在某些情况下$instru
为空,当$instru->revisions_id
为空时您无法运行$instru