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

我想制作仅具有关系的表的列表,例如:

桌子:

  • 命令

  • 过程

在 ProcessCrudController 中,我想将流程列表视图替换为仅具有关系(订单流程)的订单列表视图。

我尝试过的解决方案:

  • 在 OrderCrudController 中创建新函数return view($this->crud->getListView(), $this->data);

  • 然后,addClause使用$request->typeURL

该解决方案的问题:

  • 不显示表中的操作行

  • 如果我们尝试删除 URL,很容易显示所有查询

我真的想制作仅与订单相关的流程列表视图,或者有任何建议/想法来实现这一点吗?

注意:我正在努力解决这个问题,我没有找到解决方案,请帮助我

编辑(添加代码):

订单Crud控制器:

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' => 'App\User',

        ],

    ]);

}

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

}


慕哥9229398
浏览 100回答 1
1回答

慕丝7291255

您不必创建新视图,只需使用 addClause ... 修改查询结果即可。在 setupListOperation() 的 ProcessCrudController 中添加您的子句: $this->crud->addClause('has','order');假设流程模型中指向流程的关系名称是“order”
打开App,查看更多内容
随时随地看视频慕课网APP