2017-09-06 12 views
0

私は2つのtable、post、post_tagを持っています。タグPHPとそのリターンタグを持つすべてのポストを:私はすべてのポストベースのタグ(元に取得したいlaravelの投稿ベースのタグを検索

post::whereHas('post_tag', function ($query) use ($tags) { 
        $query->where('tag', $tags); 
       }); 

:私はこのようなクエリを使用

--Post-- 
id|Content|user_id 

--Post_tag 
id|post_id|tag(type = var char/tag name) 

:二つのテーブルの構造は次のようですPHP)しかし、それはエラーが未定義を返しましたどこのメソッドは、私は何を参照する必要がありますか?事前に感謝

+0

のようなポストは、多くのタグを持っているタグに基づいて、すべての記事を取得することができ、あなたのモデル

//Post public function tags() { return $this->hasMany(Post_tag::class); } // Post_tag public function posts() { return $this->belongsTo(Post::class); } 

に関係を追加しますか? –

+0

ああ、1つの投稿にはたくさんのタグがあります –

答えて

0

は、あなたが

$posts = Post_tag::with('posts')->where('tag','php')->get();

+0

ああ、私はpost_tagモデルに関係を追加するのを忘れました。それは今では –

+0

:)を働いた。私の答えを記入することを忘れないでください –

関連する問題