繁体   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