首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历对象

遍历对象
EN

Stack Overflow用户
提问于 2017-02-01 21:13:43
回答 2查看 628关注 0票数 0

我不能为我的生活,迭代我的模型,以显示我的数据库表。

这是我提出要求的地方。

代码语言:javascript
复制
public function index()
    {
        $vehicles = vehicle::all();
        return view('vehicles', compact('vehicles'));
    }

以下是我的观点:

代码语言:javascript
复制
<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

这是我得到的

即使我把这个装进修补程序

如何有效地迭代我的车辆?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-01 21:33:03

在如何实现在另一个foreach循环中具有foreach循环的过程中存在一个错误。

第一个步骤是正确的。当您调用foreach($vehicles作为$vehicle)时,它接受$vehicles数组并一次迭代一个车辆模型。

第二个循环是发生错误的地方。调用foreach($vehicle as $info)是错误的,因为当$vehicles是车辆模型时,您将其视为一个数组。将其改为此应有效:

代码语言:javascript
复制
@foreach( $vehicle->toArray() as $key => $value )
     <td> {{ $value }} </td>
@endforeach
票数 0
EN

Stack Overflow用户

发布于 2017-02-01 21:28:41

看起来,您不仅试图遍历每个车辆,而且还试图迭代每个车辆的每个字段(这不是正确的方法)。您应该显式地调用每个字段。

代码语言:javascript
复制
<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()。

代码语言:javascript
复制
@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

*代码未经测试

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41989862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档