簡體   English   中英

Laravel 5.4刀片foreach循環

[英]Laravel 5.4 blade foreach loop

我正在建立一個場地管理系統,在登陸頁面上,我試圖向訪客展示所有可用的插槽。 已經預訂的那些顯示為不可用。 我創建了兩個變量,一個用於攜帶時間表中的信息,另一個用於預訂表和tyring以使用刀片進行比較和顯示。 這就是我嘗試在刀片中實現它的方式:

@foreach($times as $time)   
 @foreach($bookings as $booking)
    <tr>
        @if($time->availble_times == $booking->booking_time)
            <td>{{$time->availble_times}}: not available</td>
        @else
            <tr><td>{{$time->availble_times}}</td>
        @endif
            </tr>
 @endforeach    
@endforeach 

但是,這樣做的目的是在預訂表中顯示盡可能多的記錄。 就像預訂表中有兩行一樣,它會顯示兩次,依此類推。 以防萬一,這是我的控制器功能:

 public function times(){
    $times = Times::all();
    $bookings = Bookings::all();
    return view('/test2')->with('times', $times)->with('bookings', $bookings);
}

我最近開始做Laravel,無法弄清楚這個問題。 我的問題是,如何修復n次顯示問題並向用戶顯示哪些時間被預訂,哪些時間可用?

我不知道你的數據的外觀如何,而是看你的代碼列availble_timesbooking_time是日期字段。 如果Times模型是幾個小時的字典(如1. 8.00,2。8:45,3:00),並且預訂時間必須在時間記錄中,那么您只需要反轉循環以顯示每個時間預訂

@foreach($bookings as $booking)
    @foreach($times as $time)
        <tr>
            <td>{{ getImaginedChairNumber() }}</td>
            <td>{{ $time->availble_times }}</td>
            @if($time->availble_times == $booking->booking_time)
                {{-- There is already booking for that dictionary time --}}
                <td>not available</td>
            @else
                <td>available</td>
            @endif
        </tr>
    @endforeach
@endforeach

應該生產類似的表:

╔═══════╦══════╦═══════════════╗
║ Chair ║ Time ║    Booking    ║
╠═══════╬══════╬═══════════════╣
║ A1    ║ 8:00 ║ not available ║
║ A1    ║ 8:45 ║ available     ║
║ A1    ║ 9:00 ║ not available ║
║ A2    ║ 8:00 ║ not available ║
║ A2    ║ 8:45 ║ not available ║
║ A2    ║ 9:00 ║ not available ║
║ A3    ║ 8:00 ║ available     ║
║ A3    ║ 8:45 ║ available     ║
║ A3    ║ 9:00 ║ not available ║
╚═══════╩══════╩═══════════════╝

這是您期望的輸出表的正確形式嗎? (我用這個工具繪制ascii表https://senseful.github.io/web-tools/text-table/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM