0

我正在为我的 web 应用程序编写一个预订系统。
我用 print_r 在我的控制器中得到了我想要的输出。
不幸的是,我无法在我的视图中获得正确的输出。

$userId = Sentry::getUser()->id;
$my_garden = DB::select('select * from gardens where userId = ?',array($userId));
foreach($my_garden as $garden)
{
   $gardenId = $garden->id;
   $address = $garden->address;
   $bookings_in_my_garden = Garden::find($gardenId)->booking;
   print_r($address.'<br>');
   foreach($bookings_in_my_garden as $bookings)
   {
       print_r($bookings->dateFrom." - ".$bookings->dateTo.'<br>');
    }
}

我得到的输出是
Predikerinnenstraat 10
2013-11-05 - 2013-11-12
Prinsenstraat 2
2013-11-30 - 2013-12-07
2013-11-20 - 2013-11-27
并且是正确的
但是当我通过它时在我看来是这样的:

return View::make('admin.booking.index')
->with('my_garden',$my_garden)
->with('bookings_in_my_garden',$bookings_in_my_garden);

并打电话

@foreach($my_garden as $garden)
    <tr>
       <td>{{ $garden->id }}</td>
           @foreach($bookings_in_my_garden as $bookings)
                <td>{{ $bookings->dateFrom }}</td>
                <td></td>
                <td></td>
            @endforeach
        <td>{{ $garden->address }}</td>
        <td></td>
     </tr>
 @endforeach

我最终得到
2 2013-11-30 2013-11-20 Predikerinnenstraat 10
8 2013-11-30 2013-11-20 Prinsenstraat 2

有人可以帮我吗?

4

1 回答 1

1

您仅将最后一次预订传递给您的视图。

你有一些选择,这里有两个:

1)在它们之间创建一个雄辩的关系,所以你可以在你的观点:

@foreach($my_garden as $garden)
    <tr>
       <td>{{ $garden->id }}</td>
           @foreach($garden->bookings as $booking)
                <td>{{ $booking->dateFrom }}</td>
                <td></td>
                <td></td>
            @endforeach
        <td>{{ $garden->address }}</td>
        <td></td>
     </tr>
@endforeach

2)将它们全部存储在控制器中的数组中并传递给您的视图。

于 2013-11-05T19:03:13.583 回答