Laravel 5.8刀片,从嵌套对象错误中获取值

Posted

技术标签:

【中文标题】Laravel 5.8刀片,从嵌套对象错误中获取值【英文标题】:Laravel 5.8 blade, getting values from nested objects error 【发布时间】:2021-09-27 16:18:15 【问题描述】:

我在使用刀片时遇到了一些奇怪的错误。

在获取dd() 中的数据时,它的工作原理与应有的一样,但是 在没有dd() 的情况下调用它时,会抛出一个错误,告诉我它在我的对象中找不到字段。

在我的刀片文件中,这很好用:

 dd($p->components->image->lg_img) 

这不是:

<img src=" $p->components->image->lg_img " />

错误:

未定义属性:stdClass::$image(查看: /home/vagrant/code/xxxxxx/resources/views/resources.blade.php)

【问题讨论】:

$pcomponents 是什么? 它在循环中吗?如果是这样,那么第一个循环元素设置了它,而其他一些则没有。 也可以注释掉img标签,使用@dump $p-&gt;components @enddump进行调试 我找到了解决方案,当循环中的某些对象不包含该属性时。 【参考方案1】:

解决办法是: 检查变量是否存在

<img src=" !empty($p->components->image->lg_img) " />

出现此问题是因为某些属性可能不存在。

【讨论】:

以上是关于Laravel 5.8刀片,从嵌套对象错误中获取值的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 无法使用刀片从多维数组中获取值

LARAVEL 5.8:窗口滚动,滚动在刀片模板中不起作用

如何从循环中获取值到刀片 - laravel

循环 PHP 嵌套数组 - 将值提取到刀片视图中 (Laravel)

在 laravel 5.4 刀片中通过键从多维数组中获取值

Laravel 数据透视表获取值并传递给刀片模板