2016-07-18 4 views
3

私のcreate.blade.phpからフォームを再利用してテーブル内の人を更新しようとしています。私はLaracastのビデオからエピソード13まで、Tにすべてを追いかけてきました。更新しようとすると、大きなレンガの壁に当たってしまいました。更新中のHandler.phpでNotFoundHttpExceptionが発生しました

それは私にこのエラーを与えている:私のContactPersonは私のデータベース内のテーブルである

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

を。

ここで私がこれまで持っているコード、

ルート

Route::post('create', '[email protected]'); 
 

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

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

 
Route::patch('pages/{id}', '[email protected]')->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'); 
 
    } 
 
}
です私はBを立ち往生してきた routelist

@extends('app') 
 

 
@section('content') 
 
    {!! Form::model($user, ['method' => 'PATCH', 'action' => ['[email protected]', $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> 
 

 
     ...

ルートリスト(ページフォルダ内)

edit.blade.phpこのエラーとMethodNowAllowedエラーの間に、PUT/PATCHメソッドが約3-4日間好きではなかったためです。どんな助けも素晴らしいだろう!あなたはedit.blade.phpでスペルミスをしている

+0

これまでのところ私はところで... PhpStormに関係しています何も表示されません - これがうまくいかない場合、ブラウザではどのURLが表示されますか?他のすべてのURLは機能しますか(同じ/同様の操作を行います)? – LazyOne

+0

エラーが発生した場合、 'pages/edit'に行きます。これは私が今までに持っている唯一の更新方法であり、他のすべてのメソッドが動作し、作成し、表示します。 – ph0bolus

答えて

0

、 「アクション」=>「ResourceControllerの@更新」

+0

Dileep、 ありがとう、それは私のコードでは正しいです。ジェフリー・ウェイが彼のチュートリアルで持っていたもので、私はそれを '' url '=>' pages/edit'として持っていたのでスタックに変更しました。私はここでそれが解決策になるかもしれないと読んでいました、そうではありませんでした。 – ph0bolus

関連する問題