Laravel меняет красноречивую каскадную последовательность

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

например, если вы хотите получить доступ к свойству e1 для en, способ: $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

Ваш вопрос требует дополнительных разъяснений

AliN11 29.05.2018 09:14

Каскадирование по имени?

Lizesh Shakya 29.05.2018 12:49

@DonRaider я отредактировал сообщение

Mostafa Abedi 29.05.2018 13:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
92
1

Ответы 1

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

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();

.спасибо, но это проблема уровня коллекции. Я хочу изменить последовательность объектов, и это может быть сделано одним из API коллекции.

Mostafa Abedi 30.05.2018 12:03

Другие вопросы по теме