php - comandos - El método de actualización Laravel Controller no funciona
comandos artisan laravel (1)
Soy nuevo en Laravel.
Hice controlador, modelo y vistas por camino / generador por el compositor php artisan generate:scaffold cities
y su página de índice (método de creación y almacenamiento) Trabajando bien, pero no sé cuál es el problema con el método de update
.
Este es mi método CitiesController ( Actualización ):
public function update($id)
{
$city = City::findOrFail($id);
$validator = Validator::make($data = Input::all(), City::$rules);
if ($validator->fails())
{
return Redirect::back()->withErrors($validator)->withInput();
}
$city->update($data);
return Redirect::route(''admin.cities.index'');
}
Este es mi modelo ( ciudad ):
class City extends /Eloquent {
protected $primaryKey=''city_id'';
public static $rules = [
''name'' => ''required'',
''image'' => ''mimes:jpeg'',
''parent_id'' => ''required'',
''name'' => ''required'',
''english_name''=>''unique:cities,english_name|required''
];
protected $fillable = [''name'', ''parent_id'', ''english_name'',''population'',''phone_prefix'',''image''];
}
Y esta es mi vista ( editar ):
<ul>
{{ Form::model($city,array(''route''=>array(''admin.cities.update'',$city->id),''method''=>''PUT'',''files''=>true)) }}
<!--Here I included my form-->
@include(''admin.forms._partial.formcity'')
<li>
{{ Form::submit(''submit'') }}
</li>
{{ Form::close() }}
</ul>
Y esta es mi Ruta:
Route::group(array(''prefix''=>''admin'',''before''=>''Auth''),function(){
Route::resource(''cities'', ''CitiesController'');
});
Cuando hago clic en el botón de enviar Laravel arroja este error:
Symfony / Component / HttpKernel / Exception / MethodNotAllowedHttpException
nota : mi vista funciona bien Creo que el problema proviene del método del controlador, y otros métodos de este controlador como create
y store
también funcionan bien.
En su modelo, ha protected $primaryKey=''city_id'';
pero en su opinión usted tiene:
{{ Form::model($city,array(''route''=>array(''admin.cities.update'',$city->id),''method''=>''PUT'',''files''=>true)) }}
Me refiero a $city->id
debe ser $city->city_id