0

こんにちは、私は理解できない問題を抱えています。いくつかの列を持つデータベースがあります。タイトル、本文、開始、および終了。

開始列と終了列は日時型です。データベースに開始日と終了日の行があります。

日付範囲内にあるすべての行を選択しようとしています。この場合、24 時間のスパンです。

たとえば、今日 (2013 年 9 月 24 日) の開始日と 2014 年 1 月 1 日の終了日を持つ行がある場合、それが返されることを期待しています。

Route::get('/', function()
{
//Start of Day
$start = date('Y-m-d 00:00:00');

//End of Day    
$end = date('Y-m-d 23:59:59'); 

$data['flyers'] = Flyer::where('start', '>=', $start)->where('end', '<=', $end)->get();

//return homepage
return View::make('view', $data);
});

前もって感謝します。最初にそれを理解したら、答えを投稿します。

4

1 に答える 1

3

呼び出しの比較演算子where()は逆です。コードの現在の方法では、今日開始および終了するフライヤーのみを選択しています。あなたが欲しいのはこれです:

$data['flyers'] = Flyer::where('start', '<=', $start)->where('end', '>=', $end)->get();
于 2013-09-24T20:11:42.307 に答える