Derzeit arbeite ich an einem Projekt, um meine Kosten für Kraftstoff zu verwalten. Jetzt versuche ich 2 Parameter in einer Form::open()
zu übergeben, die leider nicht funktioniert. Der Grund, warum ich denke, dass ich 2 Parameter auf einmal übergeben muss, ist, weil meine URL ist Sitename/car/{id}/tank/{id}
Was mache ich falsch?Laravel 4 Form, die 2 Parameter passiert
edit.blade.php
Form::open(array('class' => 'form-horizontal', 'method' => 'put', 'action' => array('[email protected]', array($aid, $id))))
Problem-Code
'action' => array('[email protected]', array($aid, $id)
-Ergebnisse in dem folgenden Fehler:
Parameter "tank" for route "car.{id}.tank.update" must match "[^/]++" ("" given) to generate a corresponding URL.
TankController.php
public function edit($id, $tid)
{
$tank = Tank::find($tid);
if(!$tank) return Redirect::action('[email protected]');
return View::make('Tank.edit', $tank)->with('aid', $id);
}
public function update($id, $tid)
{
$validation = Validator::make(Input::all(), Tank::$rules);
if($validation->passes()){
$tank = Tank::find($tid);
$tank->kmstand = Input::get('kmstand');
$tank->volume = Input::get('volume');
$tank->prijstankbeurt = Input::get('prijstankbeurt');
$tank->datumtank = Input::get('datumtank');
$tank->save();
return Redirect::action('[email protected]', $id)->with('success', 'Tankbeurt succesvol aangepast');
} else return Redirect::action('[email protected]', $id)->withErrors($validation);
}
Route.php
Route::resource('car', 'CarController');
Route::resource('car/{id}/tank', 'TankController');
Route::controller('/', 'UserController');
-url Struktur SITENAME/Auto/2/Tank/2/bearbeiten
Ich habe mir auch die api-Dokumente angeschaut aber nichts gefunden. http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html
Vielen Dank im Voraus
Dieses auf Laravel funktioniert auch 5.1. Vielen Dank. – racl101
Ja, das ist der beste Weg. Danke –
Aber Sie übergeben nur einen Parameter in Ihrem Beispiel. Das Übergeben von zwei Parametern auf diese Weise funktioniert in 5.2 nicht. –