我想将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"));