【发布时间】:2014-06-08 18:05:20
【问题描述】:
目前,我的应用程序使用很多 foreach 循环来遍历从数据库中提取的数组。
为了让用户访问页面,无论他们有 0,1 还是 100 个结果,我都必须使用三个 IF 语句来阻止 foreach 循环中断。此检查仅适用于 0 和 1 结果,任何更大的都可以正常工作。
我想我会有更多的页面来遍历某些数据库结果,而且使用 3 条 IF 语句肯定不是最有效的方法吗?
一个例子:
控制器:
public function getArchived()
{
$alert = Alert::with('location')->where('user_id', '=', Auth::user()->id)
->onlyTrashed()
->first();
$this->layout->content = View::make('agents.alert.archived',
array('alert' => $alert));
}
查看(缩短):
@if((count($alert) > 1)
@foreach($alert->alerts as $alert)
{{ $alert->id }}
@endforeach
@elseif ((count($alert) > 0)
{{ $alert->id }}
@else
<p>You have no results</p>
@endif
在将数组发送到视图之前,是否可以对控制器进行检查?任何指导将不胜感激
【问题讨论】:
-
您使用
first()-函数。你总是只得到一个结果,不是吗?请显示更多代码! -
你还需要什么代码才能看到@Fuzzyma?
标签: php laravel foreach laravel-4