У меня много-много отношений. У меня есть три таблицы:
posts
posts_tag
tags
Таблица "сообщения" имеет стандартные поля.
Структура таблицы "posts_tag":
Schema::create('post_tag', function (Blueprint $table) {
$table->bigIncrements('id');
$table->bigInteger('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts');
$table->bigInteger('tag_id')->unsigned();
$table->foreign('tag_id')->references('id')->on('tags');
});
Структура Таблица "теги":
Schema::create('tags', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->timestamps();
});
Отношение определено в модели:
class Tag extends Model
{
public function posts()
{
return $this->belongsToMany(Post::class,'post_tag', 'post_id', 'tag_id');
}
}
Я вызываю метод $tag->posts
:
public function getPostsByTag($id)
{
$tag = Tag::find($id);
dd($tag->posts);
}
Я получаю только один массив:
Illuminate\Database\Eloquent\Collection {#571 ▼
#items: array:1 [▶]
}
скриншот базы данных
Буду благодарен за любую помощь друзьям! Если вы извините за мой Engli sh, я в процессе обучения!