Laravel меняет красноречивую каскадную последовательность - PullRequest
0 голосов
/ 29 мая 2018

У меня есть коллекция $persons, которая содержит массив $person красноречивых объектных моделей с отношениями.У человека много учетных записей, и у учетных записей есть один en.

, например, если вы хотите получить доступ к e1, то есть способ: $person->accounts[0]->en

Как включить каскадную последовательность $person:

person=>{
  p1,
  p2,
  accounts{
    a1,
    a2,
    en{
      e1,
      e2
    }
  }
}

в нечто вроде:

en{
  e1,
  e2,
  accounts{
    a1,
    a2
  },
  person{
    p1,
    p2
  }
}

после изменения я хочу что-то вроде этого $en->accounts->person->p1

1 Ответ

0 голосов
/ 29 мая 2018

Вы можете создать отношение в модели En, указав отношение с моделью счета.

public function account(){
        return $this->belongsTo(Account::class);
    }

А в модели Account создайте связь с моделью Person.

public function person(){
        return $this->belongsTo(Person::class);
}

Тогда вы сможете получать данные так, как вы их просили, например

//en should have account and account should be associated with person
$en->accounts->person->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...