Laravel 背包 - 从过滤器中预选字段

Laravel Backpack - Preselect field from filter

在基于应用的过滤器创建新实体时,是否有任何方法可以预选 select 或其他字段值?

在 Backpack 中添加多条新记录并根据应用于列表的过滤器预填充一些数据库时,我正在努力简化工作,这对我有很大帮助。

本机无法做到这一点,但您可以自定义一些东西来实现这一点:

  • 通过在您的 resources/views/vendor/backpack/crud/buttons/create.blade.php 中创建一个文件来覆盖创建按钮,这样您就可以在该按钮上放置一个 ID,比如说... #crud_add_button
  • 在您的 public/vendor/backpack/crud/js/list.js 中插入一些 javascript,在 DataTable 过滤(或搜索)时它也将所有 GET 参数放在 #create_add_button 上;
  • 这样,当您单击添加按钮时,URL 可能看起来像 http://backpackapp.local/admin/monster/create?draft=1,category=23;这就是用户实际点击的内容;
  • 在您的 EntityCrudController 中,有一个 create() 方法可以覆盖 CrudController 中的方法;这个方法可以在每个字段上设置default个参数,根据GET参数,然后return parent::create(); [注意:甚至可能不需要此方法,因为我相信 Laravel 合并了 GET、POST 和 OLD 参数,并且 default 已经配置为在参数中获取值;但我不确定];

希望对您有所帮助。