Laravel 将项目提取到新的 table 行

Laravel Pluck items onto new table rows

我有一个 table 用于旅行,一个 table 用于事件。一次旅行可以有很多事件。 编辑行程时,我想显示一个 table 显示事件名称、开始日期和结束日期。

我一直在使用 pluck 来获取数据:-

<table class="table table-striped table-bordered table-hover">
    <thead class="thead">
        <tr class="warning">
            <th> Trip ID </th>
            <th> Event ID </th>
            <th> Event Name </th>
            <th> Start Date </th>
            <th> End Date </th>
        </tr>
    </thead>
    @foreach($trip->events as $trip->event)
    <tr>
        <td>{{ implode(',', $trip->events()->pluck('trip_id')->toArray()) }}</td>
        <td>{{ implode(', ', $trip->events()->pluck('trip_id')->toArray()) }}</td>
        <td>{{ implode(', ', $trip->events()->pluck('event_name')->toArray()) }}</td>
        <td>{{ implode(', ', $trip->events()->pluck('start_date')->toArray()) }}</td>
        <td>{{ implode(', ', $trip->events()->pluck('end_date')->toArray()) }}</td>
    </tr>
    @endforeach
</thead>
</table>

然而,我的 table 显示为三行,这是正确的,但每一行都包含所有数据。 我想为旅行创建的每个事件创建一个新的 table 行。

也许您正在寻找这样的东西?

<table class="table table-striped table-bordered table-hover">
    <thead class="thead">
        <tr class="warning">
            <th>Trip ID</th>
            <th>Event ID</th>
            <th>Event Name</th>
            <th>Start Date</th>
            <th>End Date</th>
        </tr>
    </thead>
    <tbody>
    @foreach($trip->events as $event)
        <tr>
            <td>{{ $event->trip->id }}</td>
            <td>{{ $event->id }}</td>
            <td>{{ $event->event_name }}</td>
            <td>{{ $event->start_date }}</td>
            <td>{{ $event->end_date }}</td>
        </tr>
    @endforeach
    </tbody>
</table>