gpt4 book ai didi

php - 无法在模型对象 Laravel 上调用 SAVE 方法

转载 作者:行者123 更新时间:2023-12-02 02:55:01 24 4
gpt4 key购买 nike

我试图在模型投诉模型的对象上调用save方法来更新数据库中的特定资源,但是当我在api url上发送POST请求时它给出了这个错误

BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::save does not exist.

我也尝试调用 update 方法,但出现同样的错误。

编辑代码:

$complaint = Complaint::where('complaint_id', $request->input('id'))->get();

$complaint->title = $request->input('Complaint_Subject');
$complaint->description = $request->input('Complaint_Details');
$complaint->address = $request->input('Complaint_Address');

$complaint->update();

return [
'save_status' => "success"
];

第一行返回响应和正确响应。

我还尝试调用 deletedestroy 方法来删​​除资源,但它也给出了相同的错误

BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::delete does not exist.

BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::destroy does not exist.

删除代码:

$complaint = Complaint::where('complaint_id', $request->input('id'))->get();
$complaint->destroy($request->input('id'));

return [
'request_status' => 'success',
'complaint' => $complaint
];

这里也正确返回了响应。

请注意,complaint_id 不是表中的主键,因此我不能简单地调用 Complaint::find($request->input('id' )) 我必须与此 complaint_id 列值进行交叉检查才能找到资源。我从昨天开始就一直在寻找,但找不到任何解决方案。我怎么解决这个问题。谢谢!!!

最佳答案

如果您的$complaint是输出的集合。因此,如果您像 $complaint = Complaint::where('complaint_id', $request->input('id'))->first 那样更改代码,则 save 对此不起作用(); 然后 save() 就会起作用。

关于php - 无法在模型对象 Laravel 上调用 SAVE 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61302468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com