所以我試圖從我的後端(這是用Laravel寫的PHP)到我的SQL數據庫建立一個查詢。我在我的數據庫中有一個表格,標題爲「created_at」,帶有'timestamp'類型的值。我想要做的是,當我發送一個查詢到我的數據庫時,只選擇我的表的行(或實例,我猜)是從當前日期創建的30天或更少。我嘗試過使用「where」關鍵字進行實驗,但是無法按照我的需求進行操作。使用Laravel過濾SQL數據庫查詢的時間戳,後端在PHP中使用Laravel
當我瀏覽數據庫中的表格時,日期的格式爲「YYYY-MM-DD hh:mm:ss」,但我不確定如何比較它們,我不知道如何在進行查詢時轉換它們。我查看了Laravel中的whereBetween()方法,但我沒有得到那個工作,因爲我不知道如何比較它們。
此刻我的查詢看起來是這樣的:
$topUser = DB::table('statistics')
->join('users', 'statistics.user_id', '=', 'users.id', 'inner')
->select('fname', 'user_id', DB::raw('sum(price) as total_collection'))
->groupBy('user_id')
->orderBy('total_collection','desc')
->get();
我想要做什麼,在僞代碼,是沿着線的東西;
->where 'created_at' <= 30 days ago
在此先感謝!
'WHERE( 「created_at」,利用MySQL的日期函數 「<=」,DB ::原始( 「NOW() - 間隔30天」 ))'? – apokryfos