【发布时间】:2018-02-01 10:28:27
【问题描述】:
我很生气尝试更新一个简单的实体,我看到当我将更新方法的参数 Role $role 更改为 int $id 并在更新之前创建一个 findOrFail 时,它可以工作,但它似乎我的刀片 for::open 没有将我的对象 $role 传递给我的控制器。
我试图在我的编辑刀片模板中像这样传递它:
{{ Form::open(['name'=>'editrole','method'=> 'put','route'=>['Role.update',$role],
'class'=>'mt-4 ml-2']) }}
或者像这样:
{{ Form::open(['name'=>'editrole','method'=> 'put','url'=>route('Role.update',$role),
'class'=>'mt-4 ml-2']) }}
这里是更新方法:
public function update(RoleRequest $request, Role $role)
{
try{
//dd($role);
$role->update($request->all());
return redirect(route('Role.index'))->with('success_message','Rôle modifié');
}catch (ModelNotFoundException $ex){
return redirect(route('Role.index'))->with('error_message',
'Erreur : '.$ex->getMessage().'<br />'.$ex->getTraceAsString());
}
}
在更新方法中制作dd($role)时,属性为空
感谢您的帮助。
路线是这样的:
// Gestion des rôles
Route::resource('Role','Admin\RoleController');
【问题讨论】:
-
分享你的路线?
标签: php laravel laravel-5 blade laravel-blade