假设我有一个表“用户”,我想用 Laravel Scout 搜索。它有很多属性,其中包括用户的爱好。
users
表中,但是通过关系表。因此,为每个用户放置了一个爱好 ID
users
表。 football,
时,Laravel 未将其编入索引侦察。只有爱好
football
的 id 被索引,但那是当然不是我想要的。
任何人都知道我如何确保搜索
football
返回将足球作为爱好的用户?谢谢你的时间!
最佳答案
您可以完全控制通过 toSearchableArray()
索引的确切内容,以便您可以执行以下操作
class User extends Model
{
use Searchable;
// ...
public function toSearchableArray()
{
return array_merge($this->toArray(), [
'hobby' => $this->hobby === null ? '' : $this->hobby->name;
]);
}
// ...
public function hobby()
{
return $this->belongsTo(Hobby::class);
}
}
关于php - 如何结合关系数据库使用 Laravel Scout & TNTSearch?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43851679/