更新查询中的计数在Laravel中不起作用

时间:2019-04-13 08:35:12

标签: php database laravel

public function increment($id)
{
    $this->model->where("id",'=', $id)->update(['rating'=> DB::raw('count+1')]);
}

我遇到以下错误:

  

SQLSTATE [42S22]:找不到列:1054中的未知列'count'   “字段列表”(SQL:更新news设置rating = count + 1,updated_at   = 2019-04-13 08:12:51其中id = 5)

我也尝试过

->update(['rating'=>'count+1']);

1 个答案:

答案 0 :(得分:3)

您没有告诉查询生成器要在哪个表上执行查询,因此DB::raw('count+1')毫无意义。

您可以尝试使用雄辩的增量方法,如下所示:

$this->model->where("id", $id)->increment('rating');

感谢@Tharaka删除了对save()的额外调用。