【发布时间】:2014-05-27 11:32:43
【问题描述】:
我的 foreach 循环应该只返回 1 个结果,但是,它返回三个相同的结果!
我正在使用 Blade 作为模板 -
{{count($alerts)}}
返回“1”。但是下面的foreach循环:
@foreach($alerts as $alert)
<tr>
<td>{{ $alerts->id }}</td>
</tr>
@endforeach
传递数据数组的控制器函数是:
public function getIndex()
{
$id = Auth::user()->id;
$alert = Alert::find($id);
$this->layout->content = View::make('index', array('alerts' => $alert));
}
DD($alert) 也只返回 1 个结果。
任何帮助将不胜感激。
【问题讨论】:
-
<td>{{ $alerts->id }}</td>: 应该是<td>{{ $alert->id }}</td>。更改$alerts->$alert -
不幸的是,从 $alerts 更改为 $alert 会返回此错误 - ErrorException - Trying to get property of non-object
-
好吧,如果你把
Alert模型类的代码和var_dump($alert)的内容发给我们,我可能会帮助你。 -
另外,您的视图可能需要一个数组而不是一个对象。所以你应该将它封装在数组中:
View::make('index', array('alerts' => array($alert))); -
封装 $alert 变量已更正它。谢谢!我确实有另一个可以正常工作的 foreach 循环(但默认情况下它有多个结果)。这个错误是因为 1 个结果吗?