我想列出只有关系的表,例如:
表:
- 订单
- 流程
在ProcessCrudController中,我想将流程列表视图替换为只有关系的订单列表视图(订单流程(。
我尝试过的解决方案:
- 在OrderCrudController
return view($this->crud->getListView(), $this->data);
中创建新函数 - 然后,使用
$request->type
URL的addClause
该解决方案的问题:
- 不显示表中的操作行
- 如果我们尝试删除URL,则易于显示所有查询
我真的想让流程的列表视图只与订单有关,或者有什么建议/想法可以实现这一点?
NB:我在这个问题上很挣扎,我没有找到解决方案,请帮帮我
EDIT(添加代码(:
OrderCrudController:
protected function setupListOperation()
{
// This is the solution that I described before
// $request = request();
// $this->crud->addClause('where', 'user_id', '=', $request->type ?? 1);
$this->crud->addColumns([
[
'name' => 'personal_name',
'label' => 'Name',
'type' => 'text',
],
[
'name' => 'notes',
'label' => 'Catatan',
'type' => 'textarea',
],
[
'name' => 'user_id',
'label' => 'Dibuat oleh',
'type' => 'select',
'entity' => 'user',
'attribute' => 'name',
'model' => 'AppUser',
],
]);
}
ProcessCrudController:
protected function setupListOperation()
{
CRUD::setFromDb();
// This table should be listing Order's query and that only have a process (already created custom_create_view)
// That's why i want to take Order's table and not making new custom_list_view
}
您不必创建新视图,只需使用addClause…修改查询结果即可。。。。
在您的ProcessCrudController的setupListOperation((中添加您的子句:
$this->crud->addClause('has','order');
假设Process模型中指向Process的关系名称是";订单;