开发环境:laravel8,laravel-admin
促销活动和报名信息,一对多的表单开发中,对路由进行了设置。
$router->get('campaigns/{camp_no}/entry/{entry}/edit', 'EntryController@edit')->name('entry.edit');
camp_no是父表campaigns促销活动的关键字信息,entry是子表entry报名信息的关键字信息
我重写 edit,想要把这两个参数传给controller
public function edit($camp_no, $id, Content $content)
{
return parent::edit($id, $content);
}
Symfony\Component\ErrorHandler\Error\FatalError
Declaration of App\Admin\Controllers\EntryController::edit($camp_no, $id, Encore\Admin\Layout\Content $content) must be compatible with Encore\Admin\Controllers\AdminController::edit($id, Encore\Admin\Layout\Content $content)
原来php和其他语言不一样,不能重构参数个数不同的函数。
edit->edit1
public function edit1($camp_no, $id, Content $content)
{
return parent::edit($id, $content);
}
router里设定路由
$router->get('campaigns/{camp_no}/entry/{entry}/edit', 'EntryController@edit1')->name('entry.edit');
问题得到解决