尝试更新

时间:2016-07-18 02:48:23

标签: php html laravel http

我尝试使用create.blade.php中的表单重用来更新表格中的某个人。从拉克拉斯特的视频到第13集,我已经跟踪了T的所有内容,并且在尝试更新时碰到了一堵大砖墙。

它给了我这个错误:

NotFoundHttpException in Handler.php line 103: No query results for model [App\Models\ContactPerson]

我的ContactPerson是我数据库中的表。

这是我到目前为止的代码,

路线



Route::post('create', 'ResourceController@store');

Route::resource('/pages', 'ResourceController');

Route::get('pages/{id}/edit', 'ResourceController@edit')->where('id', '[0-9]+');

Route::patch('pages/{id}', 'ResourceController@update')->where('id', '[0-9]+');




资源控制器



use App\Models\ContactPerson;
use App\Http\Requests;
use Request;  


    public function store(Requests\CreateNewContactRequest $request)
    {
        ContactPerson::create($request->all());

        return redirect('resource');
    }

    public function edit($id)
    {
       $user = ContactPerson::findOrFail($id);

       return view('pages.edit')->with(compact('user'));

    }

    public function update(Request $request, $id)
    {

       //unset($request['_method']); A friend recommended doing this since he had the same problems, but it didn't work for me (MethodNotAllowed error)
       //unset($request['_token']);

       $user = ContactPerson::findOrFail($id);

       //ContactPerson::where('Contact_ID', $id->Id)->update($request->all()); 

        $user->update($request->all());

        return redirect('pages.resource');
    }
}




edit.blade.php(在页面文件夹内)



@extends('app')

@section('content')
    {!! Form::model($user, ['method' => 'PATCH', 'action' => ['ResourceContoller@update', $user->id]]) !!}

      //I've tried setting it to where instead of 'action' it's 'url' => 'pages/edit', $user->id  but still not working.

        <div class="form">
            {!! Form::label('first', 'First Name: ') !!}
            {!! Form::text('First_Name', null, ['class' => 'form']) !!}
        </div>

        ...
&#13;
&#13;
&#13;

路线列表 routelist

我已经卡在此错误和MethodNowAllowed错误之间,因为它现在不喜欢PUT / PATCH方法大约3-4天。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

您在edit.blade.php中遇到拼写错误, &#39;动作&#39; =&GT; &#39; ResourceController @更新&#39;