при условии, что у меня есть таблицаLaravel - красноречивый - получить сумму связанной модели конкретного столбца
заказы
с полями
идентификатор, USERID, сумма, описание
и таблица
пользователь
с различными полями
, как если бы я палочкой, чтобы получить все пользователь (со всеми полями), а также сумму в колонке «сумма» заказы, связанных с, что пользователь?
при условии, что у меня есть:
пользователя: {ID: 15, Firstname: джим, LastName: Morrison, пол: мужской}
и
порядок: { id: 1, userId: 15, количество: 10, описание: «order xxx»},
заказ: {id: 3, userId: 15, amount: 40, description: "order yyy"}
Я хотел бы получить:
пользователя: {ID: 15, ПгвЬЫате: джим, LastName: Моррисон, пол: мужской, orderAmount: 50}
я, конечно, хотел бы избежать утверждения foreach.
Я выставиться это на моей модели пользователя
public function userOrder(){
return $this->hasMany('Order', 'userId');
}
И я судимое это:
return $this->hasMany('Order', 'userId')->sum('amount');
без везения ...
Спасибо за ответ. Я был очень расплывчатым в определении моих таблиц ... конечно, это называется «пользователями», а моя модель называется «Пользователь», но я боюсь, что ваше не решение, которое я ищу ... Взгляните на [ это]: http: //stackoverflow.com/questions/25655388/get-max-value-for-each-related-model-with-eloquent-in-laravel и посмотреть, как Ярек Ткачик решил мою проблему с помощью "latest()" функция ... я ищу что-то подобное – ciccioassenza
ах о ... Я не вижу этого в твоем вопросе, но эй, я рад, что ты нашел свое решение :-) – Kristo
Прости меня, мой английский плохой, и у меня есть проблема с объяснением проблемы ... ссылка, которую я опубликовал, связана с другим вопросом, в котором я хотел бы указать, как с этим решением я смог взять только последнее сообщение среди связанных между собой, без использования foreach. Проблема сохраняется :( – ciccioassenza