2017-09-24 5 views
0

Ich versuche, eine Suche nach ID zu tun.Laravel Route und Parameter

<form method="post" action="{{action('[email protected]')}}"> 
<input type="text" name="id"> 

Controller

public function edit(Request $request) 
    { 
     $id=$request->id; 
     $ply = Player::find($id); 
     return view::make('player.edit')->with(compact('ply')); 
    } 

Route

Route::get('/player/edit/{id}', '[email protected]'); 

edit.blade.php

<td>{{$ply[first_name]}}</td> 

ich nicht definierte Variable first_name Störung erhalte.

Antwort

0

Ihre Route muss wie unten seit seinem Posten sein reuqest

Route::post('/player/edit', '[email protected]'); 

auch Sie Maßnahmen in Form wie unten

<form method="post" action="{{url('/player/edit')}}"> 
<input type="text" name="id"> 

tun können, wenn Sie Get-Anforderung machen versuchen, dann müssen Sie Controller ändern zu

public function edit($id) 
     { 

      $ply = Player::find($id); 
if($ply){ 
      return view::make('player.edit')->with(compact('ply')); 
} 
     } 
+0

@ KenGraham.if seine nützliche Marke Antwort als akzeptiert. – iCoders

+0

@ KenGraham.glade hier half es dir – iCoders

0

$ply ist ein Objekt. Versuchen Sie, diesen

<td>{{ $ply->first_name }}</td> 

Dies wird keinen Fehler auslösen, wenn $ply Objekt null

sein Und Sie brauchen nicht, dass {id} Parameter in Ihrer Route. Weil Sie die ID über die Postanforderung erhalten.

Route::get('/player/edit', '[email protected]'); 
Verwandte Themen