缓慢更新所有列字段



我想将Article迁移中的所有表更新为用户设置的特定布尔值。

我写了这个代码:

public function changeComVote() {
$data = request()->validate([
'status' => 'required'
]);  

Article::query()->update(['isOnly' => $data['status']]);
event(new changesMade);
}

虽然$data['status']不会在查询中传递,也不会发生任何事情,但当我手动设置它时,它的工作方式就像一个魅力,这可能是什么问题?

从请求中使用$data['status']会得到一个字符串,而不是布尔值。

尝试这种方式

Article::query()->update(['isOnly' => $data['status'] == 'true']);

您可以删除该"query(("并使用这个代替

Article::update(['isOnly' => $data['status']]);

Article::update(['isOnly' => ($data['status']] === "true"));

您还可以使用id 指定行的位置

Article::find($id)->update(['isOnly' => ($data['status']] === "true"));

最新更新