没有Foreach循环的批量更新查询Eloquent - Laravel 5.1

时间:2016-03-15 06:30:33

标签: mysql laravel eloquent

您好我的数据库结构如下:

  

表:分析

id | user_id(fk) | date | finalized(boolean)

现在我想批量更新数据。例如,我想选择user_id = 1和BETWEEN 2016-03-01和2016-03-20的数据。然后我想将最终确定的列从0更新为1,以获取我得到的所有记录。

我所做的如下:

 Analytics::where('user_id', $request->get('user_id'))
->whereBetween('date', [$request->get('from_date'), $request->get('to_date')])
->update(array('finalized' => 1));

但这不起作用,也没有显示任何错误。请让我知道如何在雄辩的帮助下做些什么。提前谢谢。

我在Stackover Flow中也看到了其他问题,但答案建议运行foreach循环,这是我不想要的。那么有什么办法,那么请建议我。再次感谢

1 个答案:

答案 0 :(得分:2)

您确定在CLI模型上设置了$fillable属性,它是否包含Analytics?此外,您是否确认请求对象具有您希望它具有的日期和用户ID?

或者,您可以不使用Eloquent直接访问数据库。

finalized