Laravel Eloquent何时没有做好自己的工作

时间:2016-05-10 14:35:43

标签: laravel eloquent

我正在尝试使用以下查询删除用户:

User::whereNotNull('confirmation_code')->where(DB::raw("created_at < (NOW()-INTERVAL 2 DAY)"))->delete();

我也尝试过:

User::whereNotNull('confirmation_code')->where('created_at', '<', '(NOW()-INTERVAL 2 DAY)')->delete();

还有其他选择。 Eloquent上的日期与不允许此操作有关吗?

2 个答案:

答案 0 :(得分:0)

我认为您需要使用DATE_SUB代替-

created_at < DATE_SUB(NOW(), INTERVAL 2 DAY)

答案 1 :(得分:0)

如果要操作日期,请使用date_sub。就像Je​​roen Noten所说的那样,这样就可以了:

User::whereNotNull('confirmation_code')->where('created_at', '<', DB::raw('DATE_SUB(NOW(), INTERVAL 2 DAY)'))->get();