我需要在最近14天內通過'created_at'字段從數據庫獲取數據。我使用laravel 4.無法通過created_at字段從數據庫獲取記錄
當我選擇這樣
$someDate = '2014-07-10'; // for example <br/>
$records = Records::where('created_at', '=', $someDate)->get();
它返回一個空數組,但我有$ someDate時間戳記錄。我應該如何編寫正確的查詢?
我需要在最近14天內通過'created_at'字段從數據庫獲取數據。我使用laravel 4.無法通過created_at字段從數據庫獲取記錄
當我選擇這樣
$someDate = '2014-07-10'; // for example <br/>
$records = Records::where('created_at', '=', $someDate)->get();
它返回一個空數組,但我有$ someDate時間戳記錄。我應該如何編寫正確的查詢?
結果是正確的,時間戳是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
)。
謝謝你,它的工作 – gioch
試試這個
$records = Records::where('created_at', '>', \Carbon::parse('14 days ago'))->get();
您正在使用什麼樣的數據庫? – Mark