@Ilbiondo

Eloquent ORM, как связать таблицы многие ко многим?

Добрый день!

Есть модель Ability, метод
categories(){
return $this->belongsToMany(
'App\Category', 'ability_category', 'ability_id', 'category_id'
);}


Модель Category, метод
abilities(){
return $this->belongsToMany(
'App\Ability', 'ability_category', 'category_id', 'ability_id'
);}


Соответственно, помимо таблиц categories и abilities, есть объединяющая таблица ability_category с полями 'ability_id', 'category_id'.

При попытке "достучаться" до поля title (к примеру) таблицы categories через модель Ability ($ability->categories->title), выдаёт ошибку, что оно (поле) не существует.

Что я делаю не так или где я плохо понял мануал? Перечитал уже не один десяток раз)
Спасибо большое!
  • Вопрос задан
  • 291 просмотр
Решения вопроса 1
@Novikofff
PHP Developer
Связь BelongsToMany Всегда возвращает коллекцию объектов. Поэтому чтобы выбрать поле, нужно обратиться к элементу этой коллекции.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Ilbiondo Автор вопроса
Задача разрешилась. Ошибка была в основном в том, что я неправильно передавал массив, соответственно, он не выводился. Спасибо всем за участие, ваши советы мне во многом помогли!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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