[英]How to use Laravel Scout & TNTSearch in combination with relational databases?
假設我有一個表'用戶',我想用Laravel Scout搜索。 它有很多屬性,其中有用戶的愛好。
用戶的愛好沒有直接放在users
表中,
但是通過關系表。 因此,為users
表中的每個用戶放置一個hobby-id。
現在,當我搜索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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.