laravel - Laravel:db - 更新操作不起作用?
问题描述
控制器
public function update(Request $request,$id){
$validator = Validator::make(
$request->all(),
[
'orderId' => 'required|integer',
'fileId' => 'required|integer',
'status' => 'required|string'
]
);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$data=FileLogs::find($id)->update(['$data->orderId'=>'$request->orderId','$data->fileId'=>'$request->fileId','$data->status'=>'$request->status']);
return response()->json(['status'=>'success','StatusCode'=> 200,'message'=>'Successfully Updated','data'=>$data]);
}
该代码不适用于update
操作,但它在以下方法中工作。但是,我想update
通过直接调用update
上面给出的模型来执行操作,因为如果updated
不这样做就无法触发事件。我正在使用 laarvel-8。请帮助我完成上述工作。
$data = FileLogs::find($id);
if($data){
$data->orderId=$request->orderId;
$data->fileId=$request->fileId;
$data->status=$request->status;
$data->update();
解决方案
从 $request 中删除引号,也不向键添加变量
$data=FileLogs::find($id)->update([
'orderId'=>$request->orderId,
'fileId'=>$request->fileId,
'status'=>$request->status
]);
推荐阅读
- icons - Nativescript:添加图标并指定名称
- c# - Azure Functions 从调用端点获取参数
- excel - Excel VBA - 从文本文件中搜索和导入多个嵌套字符串
- c++ - GTK3 检测用户调整窗口大小
- typescript - Visual Studio Code 未找到任何 TS 或节点包
- laravel - 在 Laravel 中注册用户时如何阻止守卫?
- java - 由于内存不足错误,无法在 vagrant ubuntu 框中启动 zookeeper 服务器
- node.js - 必须提供 ExpressJs JWT 密钥或公钥
- javascript - 是否可以使用 FileReader API 创建缩略图?
- bitbucket - BitBucket API v2 - 在组中添加用户