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