我的控制器方法返回此数组,我知道正在返回数据
return view('bill')->with('itemarray',Menu::where('itemname','Apple Pie')->get());
我的观点是假设像这样对它进行操作但print_r方法打印数组但是表中的td没有任何内容而且我没有收到错误
@if(isset($itemarray))
<table>
<tr>
<td>{{ $itemarray->pull('itemname') }} <!-- this prints nothing --> </td>
<td> {{ $itemarray->pull('itemprice') }} <!-- this prints nothing --> </td>
</tr>
</table>
<p> {{ print_r($itemarray) }} <!-- this prints ok --> </p>
@endif
答案 0 :(得分:3)
此处的根本问题是get()
始终会返回集合。即使您的查询只有一个或零结果。如果您只期望一个结果,建议使用first()
:
return view('bill')->with('item',Menu::where('itemname','Apple Pie')->first());
这意味着您将在视图中处理模型,因此:
@if(isset($item))
<table>
<tr>
<td>{{ $item->itemname }}</td>
<td> {{ $item->itemprice }}</td>
</tr>
</table>
@endif
我还建议您将isset()
更改为!empty()
,因为这也会检查null
(如果没有匹配的记录)
@if(!empty($item))