У меня есть пять таблиц:
details
имеет поля id
, name
и имеет отношение hasMany к взносам.
purpose
имеет поля id
, name
и имеет отношение hasMany к взносам.
period
имеет поля id
, name
и имеет отношение hasMany к взносам.
user
с полями id
, name
и имеет отношение hasMany к взносам.
а также
вклады, имеющие id
, amount
и отношения с user_id, detail_id, purpose_id, period_id
Теперь я хочу получить все contributions
определенного user
(отфильтрованного по user_id
), а затем отсортировать результат по period.name
, detail.name
и purpose.name
.
Какие-либо предложения?
Вопрос был идентифицирован как возможный дубликат Laravel orderBy в отношении . Однако есть принципиальная разница.
там есть связь между пользователем и комментарием и пользователем и публикацией. однако в моем случае нет никакой связи между пользователем и таблицами деталей/целей/периодов.
<?php
class User
{
public function comments()
{
return $this->hasMany('Comment');
}
}
в этом случае это возможно, но по той же аналогии в моем случае класс User не имеет никакой функции details() для получения отношений hasMany. Мой пользователь имеет отношение только к таблице вкладов, а таблица вкладов имеет отношения к таблицам подробностей и т.д.
надеюсь, я смогу прояснить разницу.
Contributions::with(['details' => (), 'purpose ' => (), 'period ' => (), 'user ' ])
- person Jairo Nava Magaña   schedule 01.10.2020