变量不会在IF()中返回

时间:2018-02-08 16:25:45

标签: php laravel

我有两个变量:

  

$ links-> first() - > id和$ last_inserted

如果我回复两者,通常会返回...但是如果我放了:

if($links->first()->id == $last_inserted): //line: 277
   //return view("site.list.links_home.nolink");
endif;

返回:

  

{message:“试图获取非对象的属性”,例外:   “ErrorException”,...} exception:“ErrorException”文件:   “C:\ XAMPP \ htdocs中\ gloober \程序\ HTTP \ \控制器网站\ SiteController.php”   line:277消息:“试图获取非对象的属性”跟踪:   [{文件:   “C:\ XAMPP \ htdocs中\ gloober \程序\ HTTP \控制器\网站\ SiteController.php”   line:277,...},...]

2 个答案:

答案 0 :(得分:0)

这意味着$links为空。使用optional()帮助程序:

if (optional($links->first())->id == $last_inserted)

答案 1 :(得分:0)

$links->first()->id为空并导致错误。使用empty()

添加支票

<强>尝试:

if(!empty($links->first()->id ) && $links->first()->id == $last_inserted): //line: 277