簡體   English   中英

比較 Laravel 5 中的兩列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM