标签: php mysql laravel
我想知道如何从表中删除超过4周的记录。我已经制作了这个脚本,但是它似乎没有用,它只是删除了表中的每条记录。我认为问题出在操作数的语法错误。
$test = $db->deleteFrom('mtr_position')->where(array('year' < $year || ('year' == $year && 'week' < $week)))->execute();
有什么办法解决这个问题吗?
谢谢。
答案 0 :(得分:1)
使用雄辩和碳素
假设您的模型名称是Flight。
要删除4周或更早的记录。
$deletedRows = App\Flight::where('created_at', '<', Carbon::now()->subWeeks(4))->delete();
如果您想通过指定天数来更具体地说明日期,请使用subDays()而不是subWeeks()。
subDays()
subWeeks()
详细了解Carbon加减法here