2014-10-31 105 views
0

我在访问变量时遇到问题,当它清楚地显示在表格内时。Laravel - 未定义的变量

错误落在这条线:

@if ($alert->alert_when == 1) 
@endif 

Undefined variable: alert_when - 是错误。

我之前dd()get()要求在访问视图中的数据,我可以看到变量它的检索:

["alert_when"]=> string(1) "1" 

dd打印屏幕:

object(Illuminate\Database\Eloquent\Collection)#521 (1) { 
["items":protected]=> array(2) 
{ [0]=> object(Criteria)#492 (20) { ["connection":protected]=> NULL 
["table":protected]=> NULL ["primaryKey":protected]=> string(2) "id" 
["perPage":protected]=> int(15) ["incrementing"]=> bool(true) 
["timestamps"]=> bool(true) ["attributes":protected]=> array(15) { 
["id"]=> string(2) "19" ["user_id"]=> string(2) "23" 
["alert_when"]=> string(1) "1" 
["created_at"]=> string(19) "0000-00-00 00:00:00" 
["updated_at"]=> string(19) "0000-00-00 00:00:00" ["deleted_at"]=> NULL } 

我能够访问行内的其他数据,绝对没有任何错别字!

为什么会发生此错误?提前谢谢了。

更新

@if ($alert['alert_when'] == 1)返回没有错误的正确响应。为什么当我可以像这样访问$alert->name

+0

那么'$ alert'是一个对象还是数组?如果是后者,你可以使用'$ alert ['alert_when']' – 2014-10-31 14:40:42

+0

'来引用,我可以使用例如'{{$ alert-> alert_name}}'来访问行内的其他数据。这工作完美。 – Ben 2014-10-31 14:42:15

+0

你的dd输出表明它是一个数组;但显示从dd完整的输出是肯定的 – 2014-10-31 14:44:32

回答

2

对变量执行var_dump。你可能会引用它错误。它可能是一个数组。 您可能需要这样引用它:

$alert[0]->alert_when