У меня есть несколько вложенных hasMany
отношений в Laravel 5.6.Я ищу эффективный способ суммирования атрибута на каждом из самых внешних узлов отношений.
Например, каждый из них связан с hasMany
.
Country
-> States
-> Cities
-> Streets
-> Houses
Если я хочу суммировать все House->bedrooms
в данном Country
, каков наиболее эффективный способ?
На данный момент у меня в памяти есть загруженная Country
следующая строка:
$country->load('states.cities.streets.houses');
И я попробовал:
$country->states->cities->streets->houses->pluck('bedrooms')->sum()
Но получил:
Свойство [города] не существует в этом экземпляре коллекции.
Я мог бы сделать это с помощью foreach
циклов по различным отношениям, но кажется, что должно быть большеэффективный код встроен в Laravel.Чего мне не хватает?
Спасибо