定义了如下路由:
$router->resource('{id}/menuImages', MenuImageController::class);
在menu的gird里面,通过点击按钮进入详情图的页面
$grid->column('详情图')->display(function(){
return "<a href=/admin/".$this->id."/menuImages><label class='label label-success'>详情图</label></a>";
});
然后在 MenuImageController 里面,查看列表,新增列表均没有问题。
但修改、删除的时候,会出现问题。
尝试在edit方法,传入id,无效
public function edit($menu_id,$id)
{
$this->menu_id = $menu_id;
return Admin::content(function (Content $content) use ($id) {
$menu = Menu::find( $this->menu_id);
$content->header($menu->name.'详情图');
$content->description('编辑');
$content->body($this->form()->edit($id));
});
}
如http://localhost:8003/admin/06f1462e-f270-11e6-8b3d-525400156a4e/menuImages/c5383eba-0d47-11e7-bb29-f0def19cdb97/edit
但处理的时候,返回错误信息,ModelForm里面将我定义的参数当成model的id了。
我也遇到过这个问题,我的解决办法是在edit方法传两个参数,然后使用第二个参数(同时把参数传到form里面去),然后在form方法里面判断如果是编辑的话,重置表单提交的地址
或者用request对象获取到路由里面的参数
Most helpful comment
我也遇到过这个问题,我的解决办法是在edit方法传两个参数,然后使用第二个参数(同时把参数传到form里面去),然后在form方法里面判断如果是编辑的话,重置表单提交的地址