2014-07-18 52 views
1

我需要在最近14天內通過'created_at'字段從數據庫獲取數據。我使用laravel 4.無法通過created_at字段從數據庫獲取記錄

當我選擇這樣

$someDate = '2014-07-10'; // for example <br/> 
$records = Records::where('created_at', '=', $someDate)->get(); 

它返回一個空數組,但我有$ someDate時間戳記錄。我應該如何編寫正確的查詢?

+0

您正在使用什麼樣的數據庫? – Mark

回答

2

結果是正確的,時間戳是TIMESTAMP領域:

`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' 

所以通過有一個字符串2014-07-01將返回預期行只有部分時間爲00:00:00(MySQL的)。

而是使用DATE

$records = Records::where(DB::raw('DATE(created_at)'), $someDate)->get(); 

note使用碳將不利於在這裏以任何方式(除非再次,時間戳的時間部分是00:00:00)。

+0

謝謝你,它的工作 – gioch

0

試試這個

$records = Records::where('created_at', '>', \Carbon::parse('14 days ago'))->get(); 
相關問題