doucu7525 2017-05-08 06:26
浏览 102
已采纳

不能在if语句中使用Laravel对象

I have this weird error:

I have this if:

if($item->condition && $item->variable)
{
//do something
} else {
//do something else
}

Which gives me this error:

ErrorException in Controller.php line 9001: Trying to get property of non-object

I have used dd() to debug both variables:

dd($item)->condition

if($item->condition && $item->variable)
{
//do something
}

Which returns 0 (as expected).

dd($item->variable)

if($item->condition && $item->variable)
{
//do something
}

Which returns null (also as expected). So $item is an object which contains the variable condition with 0 and the variable variable with null. However I still get this error. If I change $item->variable in the database to "foobar", dd($item->variable) will actually contain "foobar".

How come I cannot use the if here? What am I doing wrong?

  • 写回答

4条回答 默认 最新

  • douzhaishan5462 2017-05-08 06:35
    关注

    you can use

    if(!empty($item->condition) && !empty($item->variable))
    

    it will check if variable isset and check for null value

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部