[英]Comparing two columns in Laravel 5
我正在使用 Laravel
假設我的表中有兩個日期字段。 如果我想比較它們,我可以做 whereRaw 子句。
$query->whereRaw('date1 > date2')->get()
有沒有辦法在這個查詢中修改date2,所以它實際上是date2-1day?
就像是:
$query->whereRaw('date1 > (date2-1day)')->get()
您可以在查詢的“原始”部分中隨意調用任何SQL代碼,因此可以執行以下操作:
$query->whereRaw('date1 > DATE_SUB(date2, INTERVAL 1 DAY)')->get();
請記住,以這種方式執行SQL代碼將使您的查詢僅在支持此類功能的數據庫中工作。
另一種方法是使用whereColumn
類的
$users = DB::table('users')
->whereColumn('updated_at', '>', 'created_at')
->get();
或者
UserTable::whereRaw('column1 != column2')->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.