显示 Laravel 个 foreach 结果

Displaying Laravel foreach results

下面是我的控制器代码。

foreach ($events as $eventId) {
    $eventArray[] = Events::where('id', $eventId['event_id'])->get();
}

查看

@foreach ($eventArray as $key => $value)
    <tr>
        <td>{{ $value }}</td>
    </tr>
@endforeach

得到的结果如下

[{"id":1,"event_title":"yoga","event_date":"2019-06-24 00:00:00"}]

如何在 table 中显示上述结果?

您可以在获取事件 ID 明智的数据时将 get 更改为 first,

// first here to fetch one data
$eventArray[] = Events::where('id',$eventId['event_id'])->first(); 

然后在 blade 中,您可以使用 object 语法访问 ->

@foreach ($eventArray as $key => $value)
{{ dd($value)}}
<!-- or -->
{{ $value->id }}
@endforeach

到时候你就知道怎么用了

推荐方法,

// fetch the required event ids
$eventIds     = array_column($events, "event_id");
// then fetch the data for those ids
$eventArray = Events::whereIn('id', $eventIds)->get();

您的控制器中不需要该循环:

$events = Events::whereIn('id', array_column($events, 'event_id'))->get();

return $this->view('yourview', compact($events));

在您看来:

<table>
    <thead>
        <tr>
             <th>Title</th>
             <th>Date</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($events as $event)
        <tr>
             <td>{{$event->event_title}}</td>
             <td>{{$event->event_date}}</td>
        </tr>
        @endforeach
    </tbody>
</table>