簡體   English   中英

如何將Laravel Scout和TNTSearch與關系數據庫結合使用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM