在Laravel Scout中,弹性搜索引擎联接查询不起作用

时间:2018-06-26 07:35:24

标签: php elasticsearch laravel-5

我正在使用laravel侦察兵进行弹性搜索;我的搜索对于关系表正常工作,但是在连接查询时出现以下错误。
Method Laravel\Scout\Builder::with does not exist.
联接在搜索中起作用或不起作用。还有什么其他解决方案?

在后期模型中,我编写了以下方法。在toSearchableArray中,我有来自帖子和用户表(用户名)的搜索数据。

        public function toSearchableArray()
            {
                $array = [
                    'user_id' => $this->user_id,
                    'post' => $this->post,
                ];
                $extra_data = [];
                $extra_data['name'] = $this->user->name;

                return array_merge($array, $extra_data);
            }

            /**
             * Get the index name for the model.
             *
             * @return string
             */
            public function searchableAs()
            {
                return 'posts_index';
            }

            public function user()
            {
                return $this->belongsTo('App\User');
            }

在存储库中,我编写了public function elasticSearch($search),此功能用于获取用户和发布数据。             在存储库中,我编写了此函数,with方法出错。             我想显示帖子表和用户表中的数据;我怎么显示它?

         public function elasticSearch($search)
            {
                return $this->post->search($search)->with('user')->get();
                //$ss = Post::search($search)->get();
            }

0 个答案:

没有答案