laravel列表视图中的背包crud显示关系过滤和更新

laravel backpack crud display relationship in list view filter by and update

如何在列表和更新视图中显示关系字段和过滤依据?

假设我有一笔交易 table

Id, customer_id,  product_id, purchase_date, payment_status

一个客户table

Id, first_name, last_name, email, password

一个产品table

Id, product_name, product_description, product_price, stock

例如。我想在我的交易视图中显示:

ID, customer.first_name customer.last_name, product.product_name, purchase_date, payment_status

想按客户名称和产品名称过滤结果,我已经通读了文档,但看不出如何实现。

在您的 CrudController 中的 setup() 方法中:

$this->crud->setListView('your-custom-view');

如果你愿意,可以使用默认的列表视图作为启动器并进行修改

您可以在 vendor/backpack/crud/src/resources/views/list.blade.php.

中找到默认文件

不要在那里修改它,因为它会显示在所有 Crud 视图上..只需将其作为模板并保存 'your-custom-view' 在视图中。

也许这会有所帮助:https://laravel-backpack.readme.io/v3.3/docs/filters

编辑:

而不是 customer_id 您想要客户 first_name 等等,对吗?这将达到目的:

在您的 TransactionCrudController 中:

$this->crud->addColumn([
        // 1-n relationship
        'label' => "customer", // Table column heading
        'type' => "select",
        'name' => 'customer_id', // the column that contains the ID of that connected entity;
        'entity' => 'customer', // the method that defines the relationship in your Model
        'attribute' => "first_name", // foreign key attribute that is shown to user
        'model' => "App/Models/Customer", // foreign key model
    ]);

这是您要找的吗?如果不告诉我。