Отношение один ко многим в отдельной таблице. Насколько я понял, нужно использовать belongsTo? но если да, то как правильно? Привык я Join-ить, а тут засада. Имеем: модель Post и таблицу posts id|name|text 1 | new | desrc модель Tag и таблицу tags id|name 1 | новость 2 | люди 3 | техника модель PostTag и таблицу post_tags связи в таблице не делал, нужно ли? post_id|tag_id 1 | 2 1 | 3 Ну и дергаю в контроллере PostController PHP: $post->findOrFail($request->id); Как мне с помощью Eloquent выдернуть тэги привязанные к этому посту?
Посты и теги связаны как многие ко многим, а значит таблица-связка нужна. Начни с родной документации , а потом уже спрашивай.
https://php.ru/forum/threads/odin-k-odnomu.71343/ https://php.ru/forum/threads/mnogie-ko-mnogim.71452/
Dimon2x, никогда не поздно побыть новичком С вопросом разобрался. Однако попутно назрел второй: есть ли готовый метод создания связи при создании или обновлении поста или мой способ не так уж плох? связь создаю таким способом: PHP: //если тэг новый $newTag = Tag::firstOrCreate([ 'name' => $request->input('tagnew'), 'user_id' => $request->user()->id, 'is_active' => 0 ]); //создаю пост $post = Post::create([ 'name' => $request->name, 'text' => $request->description, ]); //создаю связь $ServiceOfferTag::firstOrCreate([ 'post_id' => $post->id, 'tag_id' => $newTag->id, ]);