如何在单个查询中使用CONCAT
更新多个对象?
以下代码有效,但不安全:
Table::whereIn('id', $idArray)->where('user_id', $this->userId)
->update([
'title' => DB::raw('CONCAT(title,'.$form->newPart.')')
]);
我尝试过的另一种方法如下,但不起作用:
Table::whereIn('id', $idArray)->where('user_id', $this->userId)
->update([
'title' => DB::raw('CONCAT(title,?)', [$form->newPart])
]);
答案 0 :(得分:1)
我认为你只需要调用setBindings
方法。
Table::whereIn('id', $idArray)->where('user_id', $this->userId)
->update([
'title' => DB::raw('CONCAT(title, ?)')
])
->setBindings([$form->newPart]);
答案 1 :(得分:1)
由于类似的问题,我来自搜索。您的问题帮助我在这里找到了解决方案:
Table::whereIn('id', $idArray)->where('user_id', $userId)
->update([
'title' => DB::raw("CONCAT(title,'$title')")
],$title);