如何在列表和更新视图中显示关系字段和过滤器?
假设我有一个交易表
Id, customer_id, product_id, purchase_date, payment_status
客户表
Id, first_name, last_name, email, password
产品表
Id, product_name, product_description, product_price, stock
例如,。我想在我的交易视图中显示:
ID, customer.first_name customer.last_name, product.product_name, purchase_date, payment_status
并希望按客户名称和产品名称过滤结果,我已阅读了文档,但无法看到如何实现这一目标。
答案 0 :(得分:1)
在setup()方法的CrudController中:
$this->crud->setListView('your-custom-view');
如果需要,可以使用默认列表视图作为启动器并进行修改
你可以在vendor / backpack / crud / src / resources / views / list.blade.php中找到默认文件。
不要在那里进行修改,因为它会显示在所有Crud视图中。只需将其作为模板并保存“您的自定义视图”即可。在观点中。
也许这会有所帮助:https://laravel-backpack.readme.io/v3.3/docs/filters
修改强>
您需要客户first_name等,而不是customer_id吗?这样就可以了:
在您的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
]);
这是你在找什么?如果不让我知道。