我試圖製作一個電視時間表,其中當前和下一個即將播放的節目顯示的每個頻道。 我想要做這樣的事情:Laravel 4雄辯的查詢來結合單個表中的數據
<table class="table">
<thead>
<tr>
<th></th>
<th>Now Playing</th>
<th>Next Upcoming Show</th>
</tr>
</thead>
<tbody>
@foreach ($shows as $show)
<tr>
<td>
<strong>{{ $show->channel->name}}</strong></td>
<td><strong>{{ date('H:i', strtotime($show->now->start)) }}</strong>
{{ $show->now->title }}</td>
<td><strong>{{ date('H:i', strtotime($show->next->start)) }}</strong>
{{ $show->next->title }}</td>
</tr>
@endforeach
</tbody>
</table>
我得到了現在玩秀是這樣的: $顯示=顯示::用( '通道') - >在哪裏( '開始','< = '',DB :: raw('(NOW() - INTERVAL 15 SECOND)')) - > where('end','>',DB :: raw('(NOW()+ INTERVAL 15 SECOND)') ) - > orderBy('start') - > get();
我似乎無法在同一個查詢中獲取每個頻道的下一個即將播出的節目。 這將是很酷,如果我可以像這樣的當前節目:$ show-> now-> start併爲下一個節目:$ show-> next-> start
任何想法?
我的DB:
Schema::create('channels', function(Blueprint $table) {
$table->increments('id');
$table->string('name', 200);
$table->timestamps();
});
Schema::create('shows', function(Blueprint $table) {
$table->increments('id');
$table->integer('channel_id');
$table->string('title', 255);
$table->text('description')->nullable();
$table->dateTime('start');
$table->dateTime('end');
});
有關您的數據庫結構的更多信息,或者您試圖生成的原始查詢,肯定會有所幫助。 – rmobis