我正在使用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();
}