Laravel eloquent alle Datensätze abrufen, bei denen alle IDs in vielen zu vielen Relationen vorhanden sind

Ich habe einPosts Tabelle hat drei Felderid, title, description.

MyPost Model

class Post extends Model
{
    use SoftDeletes;

    protected $fillable = ['title', 'description'];

    public function tags()
    {
        return $this->belongsToMany(Tag::class, 'post_tag');
    }
}

MyTag Model

class Tag extends Model
{
    use SoftDeletes;

    protected $fillable = ['name'];

    public function posts()
    {
        return $this->belongsToMany(Post::class, 'post_tag');
    }
}

Nun möchte ich Posts & Paginate erhalten, bei denen ich einen Tag-Filter habe, z. B. habe ich zwei Tagsanimals & news die id hat1 & 2. Jetzt möchte ich alle Posts mit dem Tag @ erhalte1 & 2 & paginate. Hier ist was ich probiert habe

        Post:: with('tags')->whereHas('tags', function($q) {
            $q->whereIn('id', [1, 2]);
        })->paginate();

Aber hier, wie ich binwhereIn es gibt Beiträge mit Tags zurück1 oder2 oderboth. Aber ich möchte einen Beitrag, der beide Tag-IDs 1 und 2 hat.

Ich benutzeLaravel 5.2.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage