背包 Laravel 选项卡式内容中的可过滤 CRUD 列表

Backpack Laravel Filterable Crud List in Tabbed Content

我有两个 Crud 控制器,Project 和 PurchaseOrders。

当我显示一个特定的项目内容(say URL /project/2/show)时,其相关采购订单以table格式显示在如下图所示的选项卡之一:

由于同一项目中会有很多采购订单,我需要上面的 table 是可过滤的,如下图所示,在 PurchaseOrders Controller 中的方法 SetupListOperation() 中:

基本上,如何将 PurchaseOrders Controller List Operation 放入项目内容选项卡中?

谢谢

简而言之,在背包版本 4.x / 5.x 中,您不能。 ListOperation 并非设计为以这种方式使用,因此很难做到。只编写具有您自己特色的代码会更快,具有一组有限的功能 - 只有您需要的功能。

它不简单的主要原因是 ListOperation 和 CreateOperation / UpdateOperation 都将使用 CRUD 单例,而您需要 show/manipulate 两个不同实体中的条目(项目和采购订单)。

Backpack 团队正在开发一项您可以为此使用的功能(一个“table”小部件,您可以将其包含在任何地方,包括那里),但它可能还需要 2-3 个月才能启动.

此外,还有一个 Backpack add-on 提供类似的东西(参见 https://github.com/izica/relations-widgets-for-backpack ),但据我所知,它用于显示操作(而不是更新)并且不包括过滤.

因此,在我看来,您能做的最好的事情就是向您的自定义视图添加一些粗略的过滤器 - 它们会按您想要的方式工作,当官方解决方案可用时,您就可以使用它了.