Хорошо, ребята, я пытаюсь перефразировать мой вопрос. Посмотрим, как работает попытка 2:Laravel ManyToMany - та же модель
У меня есть команда artisan для вычисления общего дохода для каждого пользователя.
Каждый день Пользователь получает прибыль. Но как-то, как я должен его описывать, он зарабатывал деньги от других пользователей.
И вот столбец assert_user_id. Если пользователь (пользователь 2) сделал прибыль с помощью материала от другого пользователя (пользователя 1), эти доходы должны быть добавлены к заработкам пользователя 1 в этом сценарии.
id, user_id, earnings, asset_user_id
1, 1, 15, null
2, 1, 43, null
3, 1, 49, null
4, 2, 32, 1
5, 2, 25, 1
6, 2, 12, null
(В этом случае пользователь 2 делает почти все свои деньги, с содержанием от пользователя 1 ... не очень мило с его стороны, то почему деньги)
Команды Artisan получает все пользователи , и проходит через них с помощью foreach.
внутри Еогеасп мы называем метод на модели пользователя
return $this->sum('earnings');
помню, я в коллекции пользователя 1.
А теперь я хочу, чтобы суммировать все доходы, где это asset_user_id = 1. Проблема состоит в том, что в коллекции сохраняются только строки пользователя 1.
Теперь вопрос:
Как я могу получить доступ ко всем остальным строкам из коллекции пользователя. Yeha я мог просто выполнить User: all() в моей функции в моей модели. Но я не думаю, что это будет SOLID-код. Так как я делаю это правильно?
Похоже, вы спрашиваете о MySQL , а не ларавел. У вас уже есть запрос sql, который вы хотите преобразовать? Или вы спрашиваете, как это сделать, повторяя сбор? – Benubird
Как запросить это легко. Это не проблема. Но да, я хочу сделать это по модели/коллекции создателя. Я получаю всех создателей с помощью foreach, а затем получаю total1 над коллекцией. Теперь я блокируюсь, чтобы получить простой способ получить total2 над коллекцией. – mfsymb
Перефразируйте свой вопрос, чтобы мы знали, каков ваш ожидаемый результат. Как выглядит модель Eloquent и отношения «многие-ко-многим»? –