tinker comandos php laravel controller

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