用laravel更新表

时间:2017-10-20 18:25:24

标签: php laravel

我不能更新我的桌子。也许你可以看到哪里有问题。 编辑工作正常。它为这些领域带来了价值。如果我擦除{{method_field('PUT')}}它会正常保存值,但我需要更新

这是我的UPDATE控制器

<form action="{{ url('/radars')}}" method="post" > 
{{ method_field('PUT') }}
{{ csrf_field() }}

这就是我的观点:

Route::put('radars/{radar}', 'RadarsController@update');

路线:

MethodNotAllowedHttpException
No message

错误:

{{1}}

谢谢你的帮助。

5 个答案:

答案 0 :(得分:1)

您需要指定ID:

{{ url('/radars/') . $radar->id }}

此外,您需要使用对象而不仅仅是模型类。类似的东西:

public function update(Request $request, Radar $radar)
{
    $radar->update($request->all());

    return redirect('/radars');
}

答案 1 :(得分:1)

照亮\支持\外墙\请求

Radar::update(Request::all());

答案 2 :(得分:0)

看着它,我认为应该如下所示:

<form action="{{ url('/radars/' . $radar->id )}}" method="post" > 

如果你看,你发布到/radars,但你的路线是radars/{driver}

答案 3 :(得分:0)

你需要添加where语句来告诉哪个记录要更新,不要

Radar::where('id',$id)->update([
        'date' => $request->input('date'),
        'number' => $request->input('number'),
        'distance' => $request->input('distance'),
        'time' => $request->input('time'),            
        ]);

返回重定向('/ radars');

答案 4 :(得分:0)

如果您正在使用资源路由,那么在表单中,您需要更改以下操作:

url('/radars')

route('radars.update', $radar)    

并保留以下内容:

{{ method_field('PUT') }}