如何在其他控制器中使用CRUD控制器索引(列表表)



我想列出只有关系的表,例如:

表:

  • 订单
  • 流程

在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的关系名称是";订单;

相关内容

  • 没有找到相关文章

最新更新