php刷新控制器,php-Laravel控制器更新方法不起作用

我是Laravel新手.

我通过作曲家php artisan生成的控制器,模型和视图/生成器视图/生成器:脚手架城市及其索引页(创建和存储方法)运行良好,但我不知道更新方法有什么问题.

这是我的CitiesController方法(更新):

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');

}

这是我的模型(城市):

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'];

}

这是我的观点(编辑):

{{ Form::model($city,array('route'=>array('admin.cities.update',$city->id),'method'=>'PUT','files'=>true)) }}

@include('admin.forms._partial.formcity')

{{ Form::submit('submit') }}

{{ Form::close() }}

这是我的路线:

Route::group(array('prefix'=>'admin','before'=>'Auth'),function(){

Route::resource('cities', 'CitiesController');

});

当我单击提交按钮Laravel抛出此错误时:

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException

注意:我的观点很好.我认为问题出在控制器方法上,该控制器的其他方法(例如创建和存储)也能很好地工作.

解决方法:

在您的模型中,您已经保护了$primaryKey =’city_id’;但您认为您有:

{{ Form::model($city,array('route'=>array('admin.cities.update',$city->id),'method'=>'PUT','files'=>true)) }}

我的意思是$city-> id应该是$city-> city_id

标签:php,laravel,controller

来源: https://codeday.me/bug/20191014/1911669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值