@jazzus

Как создать запись в связующей таблице Laravel не обращаясь к ней?

Есть 3 модели:
Product
Comment
ProductComment

Можно ли создать запись в ProductComment не обращаясь к ней? Чтобы не нужно было делать

$productcomment = new ProductComment;
$productcomment->save();

Связь многие ко многим, комментс может не лучший пример, но все таки.
Мне просто не нравится сама идея обращаться к связующим таблицам и Laravel наверняка имеет способ этого не делать и написать что-то вроде $product->comment-create (это ведь Ларавель )).
апдейт
пока писал вопрос возникла идея написать в Product createComment() с записью в связующей таблице, но возможно есть чисто Ларавелевский способ
  • Вопрос задан
  • 486 просмотров
Решения вопроса 1
@jazzus Автор вопроса
Итого:
Laravel действительно имеет способы не обращаться к промежуточным таблицам.
Если записи нет (например комментариев), то подойдет вариант, предложенный Koteezy

$product->comments()->create(['a' => 'b'])

В моем случае записи уже существовали и их нужно было только соединить поэтому подходит вариант attach
$user->roles()->attach($roleId, ['expires' => $expires]);


док по теме
https://laravel.ru/docs/v5/eloquent-relationships
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы