2017-01-30 4 views
1

У меня есть этот кодLaravel формат дата в котором условие

use Carbon; 
$now = Carbon::now()->toDateString(); 

Так я получаю дату без времени

public funtion test($brandid){ 

    $nbofsale=DB::table('st_nsales') 
         ->where('brand_id', $brandid) 
         ->where('eodate', $now) 
         ->get(); 
    return $nbofsale; 
} 

eodate поля в выбери это дата и время. Я хочу поместить его в этот запрос только в качестве даты и не изменять тип поля в базе данных. Любые идеи?

ответ

1

Если eodate это штамп времени, вам не нужно, чтобы преобразовать его в строку даты:

$nbofsale = DB::table('st_nsales') 
       ->where('brand_id', $brandid) 
       ->whereDate('eodata', Carbon::today()->toDateString()); 
       ->get(); 

Другой способ получить запись на сегодня:

$nbofsale = DB::table('st_nsales') 
       ->where('brand_id', $brandid) 
       ->where('eodata', '>', Carbon::now()->startOfDay()); 
       ->get(); 
+0

но Carbon :: сейчас (); возвращает дату со временем, поэтому я и сделал разговор. Но моя проблема заключается в том, что я хочу преобразовать поле eodate в дату только без времени. Таким образом, условие запроса сравнивает 2 даты без времени. –

+0

в mysql тип eodate равен DATETIME –

+1

@ElioChamy попробуйте обновленный код с и без 'toDateString () ' –

Смежные вопросы