Получить значения из внешнего ключа связанной таблицы с помощью Eloquent

Извините, если вопрос не ясен. Я не очень хорошо разбираюсь в базах данных.

У меня есть три таблицы:

 companies       equipment          parts
-----------     -----------      -----------
id               id               id
name             company_id       equipment_id

Используя Eloquent, как мне получить Collection всех частей, принадлежащих компании с id=1

Я знаю, что вы устанавливаете отношения в модели. Итак, теперь я могу получить все оборудование компании ($myCompany->equipment) и все части оборудования ($myEquipment->parts), но я не уверен, как легко получить значения в обратном направлении через две таблицы.

Спасибо!


person Sandy    schedule 28.05.2019    source источник


Ответы (1)


У Laravel такая красивая документация и API для этого. Взгляните на отношение hasManyThrough.

Итак, в вашей модели компании добавьте следующее:

/**
 * Get all of the parts for the company.
 */
public function parts()
{
    return $this->hasManyThrough('App\Part', 'App\Equipment');
}
person nakov    schedule 28.05.2019
comment
@ Сэнди рада, что это помогло, рассмотрите возможность принятия ответа :) - person nakov; 28.05.2019
comment
Я рассмотрел это, и результат положительный. - person Sandy; 28.05.2019