我不能为我的生活,迭代我的模型,以显示我的数据库表。
这是我提出要求的地方。
public function index()
{
$vehicles = vehicle::all();
return view('vehicles', compact('vehicles'));
}以下是我的观点:
<table class ="vehicles-table">
<tr>
<td> id</td>
<td> First Name</td>
<td> Last Name</td>
<td> Contact Number</td>
<td> email</td>
<td> manufacturer</td>
<td> type</td>
<td> year</td>
<td> colour</td>
<td> mileage</td>
</tr>
@foreach($vehicles as $vehicle)
@if($vehicle->soft_del == 1)
@continue
@endif
<tr>
@foreach($vehicle as $info)
@if($loop->iteration >= 11)
@break
@endif
<td> {{ $info }} </td>
@endforeach
</tr>
@endforeach
如何有效地迭代我的车辆?
发布于 2017-02-01 21:33:03
在如何实现在另一个foreach循环中具有foreach循环的过程中存在一个错误。
第一个步骤是正确的。当您调用foreach($vehicles作为$vehicle)时,它接受$vehicles数组并一次迭代一个车辆模型。
第二个循环是发生错误的地方。调用foreach($vehicle as $info)是错误的,因为当$vehicles是车辆模型时,您将其视为一个数组。将其改为此应有效:
@foreach( $vehicle->toArray() as $key => $value )
<td> {{ $value }} </td>
@endforeach发布于 2017-02-01 21:28:41
看起来,您不仅试图遍历每个车辆,而且还试图迭代每个车辆的每个字段(这不是正确的方法)。您应该显式地调用每个字段。
<table class ="vehicles-table">
<tr>
<td> id</td>
<td> First Name</td>
<td> Last Name</td>
<td> Contact Number</td>
<td> email</td>
<td> manufacturer</td>
<td> type</td>
<td> year</td>
<td> colour</td>
<td> mileage</td>
</tr>
@foreach($vehicles as $vehicle)
@if($vehicle->soft_del == 1)
@continue
@endif
<tr>
<td> {{ $vehicle->id }} </td>
<td> {{ $vehicle->first_name}} </td>
<td> {{ $vehicle->last_name}} </td>
<td> {{ $vehicle->contact_number }} </td>
<td> {{ $vehicle->email }} </td>
<td> {{ $vehicle->manufacturer }} </td>
<td> {{ $vehicle->type }} </td>
<td> {{ $vehicle->year }} </td>
<td> {{ $vehicle->colour }} </td>
<td> {{ $vehicle->mileage }} </td>
<td> {{ $vehicle->id }} </td>
</tr>
@endforeach否则,如果您真的想对模型进行迭代,请使用$vehicle->toArray()。
@foreach($vehicles as $vehicle)
@if($vehicle->soft_del == 1)
@continue
@endif
<tr>
@foreach($vehicle->toArray() as $info)
@if($loop->iteration >= 11)
@break
@endif
<td> {{ $info }} </td>
@endforeach
</tr>
@endforeach*代码未经测试
https://stackoverflow.com/questions/41989862
复制相似问题