laravel - 背包 - addFilter 自定义查询

Posted

技术标签:

【中文标题】laravel - 背包 - addFilter 自定义查询【英文标题】:laravel - backpack - addFilter custom query 【发布时间】:2020-08-22 13:50:09 【问题描述】:

如何创建函数以在列表中显示结果? - 背包

此代码返回错误 消息:“调用数组上的成员函数 count()”,异常:“错误”,... 异常:“错误” 文件:“位置/crm/供应商/背包/crud/src/app/Library/CrudPanel/Traits/Query.php” 线路:144 消息:“调用数组上的成员函数 count()” 追踪:[,…]

 $this->crud->addFilter([ // select2 filter
        'name' => 'version',
        'type' => 'select2',
        'label'=> 'Status'
      ], function() 
          return [
            'something1' => 'something1',
            'something2' => 'something2',
        ];
      , function($value) 
        //dump($this->crud);
        $query = DB::select("SELECT s.system_id FROM(
            SELECT s.id as system_id, (SELECT max(id) FROM licenses l WHERE s.id = l.system_id) as license_id FROM systems s
        ) s LEFT JOIN licenses l ON l.id = s.license_id WHERE l.version= '$value' ORDER BY s.system_id");



        return $this->crud->query = $query;
      );

【问题讨论】:

Backpack List 操作仅适用于 Eloquent,不适用于 DB 结果。您应该使用 Eloquent 重写您的 db 语句以使其正常工作。 【参考方案1】:

有一些关于自定义过滤器的东西; https://github.com/Laravel-Backpack/CRUD/issues/83

您可以按照该讨论的示例来创建自己的过滤器方法。

或者这里是一个微笑的问题:Filter table with a column in Laravel Backpack

或者也许,数据透视表样本;)backpack crud filters by pivot table

【讨论】:

以上是关于laravel - 背包 - addFilter 自定义查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在背包-laravel 的注册表单中添加更多字段?

Laravel - 背包选择依赖于另一个选择

如何使用数据库 laravel 背包中的数据更改标题

如何打开Laravel背包管理页面?

Laravel 背包:坐标字段

laravel 背包 postgis 几何领域