У меня есть таблица Posts
, она имеет три поля id
,, description
.Laravel eloquent получить все записи wherehas все идентификаторы во многих отношениях много
Мой Post
Модель
class Post extends Model
{
use SoftDeletes;
protected $fillable = ['title', 'description'];
public function tags()
{
return $this->belongsToMany(Tag::class, 'post_tag');
}
}
Мой Tag
Модель
class Tag extends Model
{
use SoftDeletes;
protected $fillable = ['name'];
public function posts()
{
return $this->belongsToMany(Post::class, 'post_tag');
}
}
Теперь я хочу, чтобы получить Сообщений & разбивать на страницы, где у меня есть тег фильтра, например, у меня есть две метки animals
& news
, который имеет идентификатор 1
& 2
. Я хочу получить все сообщения с меткой 1
& 2
& paginate
. Вот что я пытался
Post:: with('tags')->whereHas('tags', function($q) {
$q->whereIn('id', [1, 2]);
})->paginate();
Но вот как я whereIn
возвращает сообщения имеет метки 1
или 2
или both
. Но я хочу, у кого есть оба тега id 1 & 2.
Я использую Laravel 5.2
.
благодаря @Joel он работал на меня, я дам вверх голос, но так как я зацикливание над ним я буду ждать лучшего ответа. Спасибо чувак. –
Это справедливо. Рад, что это помогло. :) –