2017-08-21 6 views
0

私は予約システムを使用しており、今日の特定のフィールドがあるレコードのみを選択する必要があります。今日だけでなく、将来も、今日だけです。PHP Carbon/Laravel Eloquent - DateTimeの値が現在の日付であることを確認してください

クエリは現在、次のとおりです。

$advancedBookings = Booking::where('type', 2) 
    ->whereNull('estimated_booking_time') 
    ->where('requested_booking_time', ?????); 

$advancedBookings->get(); 

requested_booking_timeが格納されている日付は、この形式になって、私がチェックすることを希望する分野である:

2017-08-23 08:00:00 

だから私は行だけを選択したいです現在の日と同じ日に行われます。

答えて

1

私が理解しているように、あなたは今日作成されたレコードを望んでいます。今日の日付を取得してください。

$today = date("Y-m-d"); 

あなたの質問は次のようなものです。

$advancedBookings = Booking::where('type', 2) 
    ->whereNull('estimated_booking_time') 
    ->where('requested_booking_time', $today)->get(); 
+0

@Lovelock重要な場合は、TZの違いも考慮してください。 – Tpojka

0

あなたはこれを試してみてください:

$advancedBookings = Booking::where('type', 2) 
    ->whereNull('estimated_booking_time') 
    ->whereDate('requested_booking_time', '=', date('Y-m-d')) 
    ->get(); 

はあなたのためにこの作品を願っています!

0

あなたはCarbonwhereDateを使用して、あなたの日付をフォーマットすることができます。

$advancedBookings = Booking::where('type', 2) 
    ->whereNull('estimated_booking_time') 
    ->whereDate('requested_booking_time', '=' , Carbon::today()->toDateString()); 

$advancedBookings->get(); 

それともCarbonとクエリの前にあなたの日付をフォーマットします。

関連する問題