Laravel中foreach循环内的多个查询

时间:2018-08-02 04:56:32

标签: laravel loops laravel-5 foreach

自昨晚以来,我一直在为此挠头。我在控制器上有此功能:

 public function generate_documents($id)
    {
        $contract = Contract::find($id);
        $booking_ids = $contract->booking_id;
        $booking_ids = json_decode($booking_ids);
        $bookings = Booking::find($booking_ids);
   }

$booking_ids返回存储在数据库中的id的json。然后,我根据ID查找预订记录。

foreach($bookings as $booking) {
   $asset = Omg_asset::where('id', $booking->omg_asset)->first();
}

这是我期望得到3个结果的部分,但只有最后一个在我的视图中返回。我尝试过这种方法:

$asset = '';
foreach($bookings as $booking) {
   $asset .= Omg_asset::where('id', $booking->omg_asset)->first();
}

但是,每当我尝试检索视图中的值时,它都会返回一个json,其中包含我需要的所有记录,而我无法通过索引访问它。

为更好的上下文附加屏幕截图:

enter image description here

顺便说一下,这是我的代码:

@foreach($bookings as $booking)
    <tr>
        <td>{{ $asset }}</td>
    </tr>
@endforeach

这是每当我尝试在视图上执行{{ $asset['asset_name'] }}时抛出的错误:

"Illegal string offset 'asset_name'"

我已经很长时间没有使用Laravel了,因此,非常感谢您的帮助。如果还有更好的方法,我欢迎您提出建议。

谢谢!

0 个答案:

没有答案