在 Dcat Admin 中用到了数据详情一对多关联,想在详情页面中的关联表格的“创建”按钮中添加自定义参数,解决方法如下:
需求:
如下图所示,在采购单详情页面的“询价记录”关联表格中,想在创建按钮中添加自定义参数-当前采购单的ID,这样我们就可以直接创建该采购单的询价记录了。
解决方法:
官方文档中只提到了$grid->setResource("inquires");
方法用来修改创建以及更新按钮的路由。如果我们直接在该方法中动态拼接参数,访问的链接是不正确的。
对此需求,作者给出了如下两种方案:
方案一,禁用默认的创建按钮,自己添加一个新的(需求较复杂时推荐采用)
$grid->disableCreateButton();
$grid->tools("<a>...");
方案二,可以通过 setConstraints
往创建按钮的 url
后面追加参数(只是追加参数时推荐采用)
$grid->model()->setConstraints([
'key' => 'value',
]);