Php Laravel API更新/编辑功能 公共功能编辑(请求$Request,$id) { $bridge=bridge::其中('bridge_id',$id); $bridge->bridge\u id=$request->bridge\u id; $bridge->bridge\u name=$request->bridge\u name; $bridge->bridge\u description=$request->bridge\u description; $bridge->bridge\u region=$request->bridge\u region; $bridge->latitude=$request->latitude; $bridge->longitude=$request->longitude; $bridge->save(); }

Php Laravel API更新/编辑功能 公共功能编辑(请求$Request,$id) { $bridge=bridge::其中('bridge_id',$id); $bridge->bridge\u id=$request->bridge\u id; $bridge->bridge\u name=$request->bridge\u name; $bridge->bridge\u description=$request->bridge\u description; $bridge->bridge\u region=$request->bridge\u region; $bridge->latitude=$request->latitude; $bridge->longitude=$request->longitude; $bridge->save(); },php,laravel,function,api,edit,Php,Laravel,Function,Api,Edit,我很困惑,因为如果这个$id。我没有增量('id')列,因为我在表中将它更改为string('bridge\u id')。我无法进行更新/编辑 这是错误消息: BadMethodCallException:在第50行的文件C:\xampp\htdocs\PhilSIMS\vendor\laravel\framework\src\light\Support\Traits\ForwardsCalls.php中调用未定义的方法illumb\Database\elount\Builder::save()

我很困惑,因为如果这个
$id
。我没有
增量('id')
列,因为我在表中将它更改为
string('bridge\u id')
。我无法进行更新/编辑

这是错误消息:

BadMethodCallException:在第50行的文件C:\xampp\htdocs\PhilSIMS\vendor\laravel\framework\src\light\Support\Traits\ForwardsCalls.php中调用未定义的方法illumb\Database\elount\Builder::save()


在查询中添加
first
$bridge=bridge::where('bridge_id',$id)->first()

第一个错误非常清楚:

BadMethodCallException:调用未定义的方法Illumb\Database\Eloquent\Builder::save()

这是因为您在查询生成器中调用的是
->save()
方法,而不是实际的模型(
Bridge
)实例。要解决此问题,首先使用
->first()
方法检索要更新的元素

$bridge=bridge::where('bridge_id',$id)->first();
//而不是:$bridge=bridge::where('bridge_id',$id);
或者更好,因为你需要找到一个元素。。为什么不使用那种方法呢

$bridge=bridge::find($id);
检查有关此主题的文档:


然后,下一个错误:

未找到列:1054未知列
id

似乎是因为Laravel不知道您的原始密钥是
bridge\u id
而不是
id
。默认情况下,如果未指定自定义primmary密钥,Laravel将查找名为
id
的primmary密钥

要解决此问题,请转到您的
桥接器
模型并添加以下内容:

//Bridge.php
受保护的$primaryKey='bridge_id';

有关的更多信息,请参阅查询中的。

添加
first
$bridge=bridge::where('bridge\u id',$id)->first()它现在有一个不同的错误:未找到列:1054未知列';id';它现在有一个不同的错误:未找到列:1054未知列';id'能否添加
路由
查看
功能?路由::get('bridges','BridgeController@index'); 路由::post('addbr','BridgeController@store'); 路由::get('bridge/{id}','BridgeController@show'); 路由::删除('bridge/{id}','BridgeController@destroy'); 路由::post('editbr/{id}','BridgeController@edit');公共函数show($id){$bridge=bridge::where('bridge_id',$id)->first();返回响应::json($bridge);}非常感谢!这帮我解决了我的问题!:D@jediArvin很乐意帮忙。你现在可以接受答案了。