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
.