Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel更新方法不存在_Php_Laravel_Eloquent_Laravel Eloquent - Fatal编程技术网

Php Laravel更新方法不存在

Php Laravel更新方法不存在,php,laravel,eloquent,laravel-eloquent,Php,Laravel,Eloquent,Laravel Eloquent,根据文档,我应该能够使用update()更新记录,但我得到的错误是方法更新不存在 Client::findOrFail($id)->update($request->all()); 知道为什么吗?我认为这是因为您在单个模型对象上使用了查询生成器的方法。无法执行此操作,因为findOrFail方法返回的单个对象与查询生成器的方法无关 这样做:Client::findOrFail($id)->first()->fill($request->all())->save()尝试以下操作: C

根据文档,我应该能够使用
update()
更新记录,但我得到的错误是
方法更新不存在

Client::findOrFail($id)->update($request->all());

知道为什么吗?

我认为这是因为您在单个模型对象上使用了查询生成器的方法。无法执行此操作,因为
findOrFail
方法返回的单个对象与查询生成器的方法无关

这样做:
Client::findOrFail($id)->first()->fill($request->all())->save()

尝试以下操作:

Client::find($id)->update($request->all());
或者,您可以使用:

Client::where('id',$id)->first()->update($request->all());

使用->填充($request->all())->save()方法填充不存在…您可以使用质量分配:您确定您得到了真实的模型对象吗?使用
var_dump(Client::findOrFail($id))打印对象的内容并将其发送到此处对象(Illumb\Database\Eloquent\Collection)#186(1){[“项目”:受保护的]=>数组(1){[0]=>对象(应用程序\客户端)#196(26){[“受保护的”:受保护的]=>数组(1){[0]=>字符串(0)”}[“连接:受保护的]=>字符串(6)“sqlite”[“表:受保护的]=>NULL[“primaryKey”:受保护的]=>字符串(2)“id”[“keyType”:受保护的]=>string(3)“int”[“incrementing”]=>bool(true)[“with”:protected]=>array(0){}[“withCount”:protected]=>array(0){}[“perPage”:protected]=>int(15)[“exists”]=>bool(true)[“wasrentlycreated”]=>bool(false)[“attributes”:protected]=>array(5…我明白了。您得到的是一个集合而不是一个对象。不应该是这样,但是,请使用以下方法:
Client::findOrFail($id)->first()->……
,因为在这里,当您使用dd(Client::find($id))通过主键调试更新一行时,更新函数对单个对象起作用;要查看您得到的结果,请查看是否正常:集合{#186▼ #项目:数组:1[▼ 0=>客户端{#196▼ #防护:阵列:1[▶] #连接:“sqlite”#表:null#主键:“id”#键类型:“int”+递增:true#带:[]#带计数:[]#每页:15+存在:true+最近创建:false#属性:数组:5[▼ “id”=>“5”“name”=>“Aafasdfasf”“active”=>“Yes”在“=>”2017-09-08 11:13:33”创建“=>”2017-09-08 11:13:33”更新“=>”等。这里是一个集合,它必须是单个对象