Laravel elocuente obtiene todos los registros donde tiene todos los identificadores en una relación de muchos a muchos

tengo unPosts tabla tiene tres camposid, title, description.

MiPost Modelo

class Post extends Model
{
    use SoftDeletes;

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

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

MiTag Modelo

class Tag extends Model
{
    use SoftDeletes;

    protected $fillable = ['name'];

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

Ahora quiero obtener publicaciones y paginar donde tengo un filtro de etiquetas, por ejemplo, tengo dos etiquetasanimals & news que tiene id1 & 2. Ahora quiero obtener todas las publicaciones que tengan etiqueta1 & 2 & paginate. Esto es lo que probé

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

Pero aqui como estoywhereIn devuelve mensajes tiene etiquetas1 o2 oboth. Pero quiero publicar quién tiene las etiquetas ID 1 y 2.

estoy usandoLaravel 5.2.

Respuestas a la pregunta(3)

Su respuesta a la pregunta