背包crud通过数据透视表过滤

时间:2017-04-03 11:25:54

标签: laravel backpack-for-laravel

有人帮助我过滤器。 我有3个表:抱怨,frontend_tag,frontendtags_complaints 我注意通过frontend_tag过滤投诉

这是我的过滤器代码:

$this->crud->addFilter([
            'name' => 'frontendtags',
            'type' => 'select2',
            'label'=> 'FE Tag'
        ], function() {
            return \App\Models\FrontendTags::all()->pluck('name', 'id')->toArray();
        }, function($value) {
            return $this->crud->query->whereHas('frontendtags', function ($q) use ($value) {
                $q->where('tag_id', $value);
            });
        });

这是我的关系代码:

 public function frontendtags()
    {
        return $this->belongsToMany('App\Models\FrontendTags', 'frontendtags_complaints', 'complaint_id', 'tag_id');
    }

过滤器无效。

1 个答案:

答案 0 :(得分:1)

替换

self.timer.timeout.disconnect(self.show_time)
    TypeError: 'method' object is not connected

使用

$q->where('tag_id', $value);

where条件应用于相关表,在本例中为frontend_tag。