Получение связанных данных из результата сбора в Laravel - PullRequest
1 голос
/ 19 апреля 2019

Я получил коллекцию местоположений по идентификатору фирмы.Одна фирма может иметь много мест.Сейчас я пытаюсь получить персонал с места.В одном месте может быть много сотрудников.

  • Модель: Firm - вызвана функция отношения hasMany: firmLocations.
  • Модель: Location - принадлежит функция отношения, называемая Firm.Также была функция hasMany под названием Staff.
  • Модель: Staff - принадлежит функция отношения с именем Location.

Staff модель относится только к модели Location.

Код находится вфункция показа в контроллере.

Теперь я подумал, что у меня есть связанные местоположения для конкретной фирмы, я могу просто использовать эту коллекцию для поиска сотрудников.Тем не менее, я попал в контрольно-пропускной пункт, и помощь будет принята с благодарностью.Благодарю.

public function showFirm($id)
{
    // Get locations of a firm by id
    $firm_locations = Firm::find($id)->firmLocations;
}

1 Ответ

1 голос
/ 19 апреля 2019

Вы можете получить персонал на основе местоположения вместе с фирмой.

public function showFirm($id) {

    // Get locations of a firm by id with staff member from location

    $firm_locations = Firm::where('id',$id)->with('firmLocations.staff')->first();

    // Above function retrieve Firm with Location and Location will have staff.
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...