MySQL-删除超过4周的记录

时间:2019-01-17 08:29:01

标签: php mysql laravel

我想知道如何从表中删除超过4周的记录。我已经制作了这个脚本,但是它似乎没有用,它只是删除了表中的每条记录。我认为问题出在操作数的语法错误。

$test = $db->deleteFrom('mtr_position')->where(array('year' < $year || ('year' == $year && 'week' < $week)))->execute();

有什么办法解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

使用雄辩和碳素

假设您的模型名称是Flight。

要删除4周或更早的记录。

$deletedRows = App\Flight::where('created_at', '<', Carbon::now()->subWeeks(4))->delete();

如果您想通过指定天数来更具体地说明日期,请使用subDays()而不是subWeeks()

详细了解Carbon加减法here