#laravel #eloquent #laravel-8 #eloquent-relationship
#ларавель #красноречивый #ларавель-8 #красноречивые-отношения
Вопрос:
я использую Laravel 8. У меня есть 3 таблицы пользователей, кампаний и платежей
У пользователя много кампаний, а у кампании много платежей, в таблице платежей есть идентификатор кампании, а в таблице кампаний есть идентификатор пользователя
теперь я хочу получить платежные данные пользователя с авторизацией, но таблица платежей состоит не из идентификатора пользователя, а из идентификатора кампании. я надеюсь, что вы, ребята, поймете это
я так растерян, пожалуйста, помогите
Комментарии:
1. пожалуйста, поделитесь своими отношениями, чтобы дать вам лучшее решение
2. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
Ответ №1:
ваш запрос очень прост, если вы используете красноречивые связи, попробуйте эту строку кода
Auth::user()-gt;campaigns()-gt;payments();
если вы хотите сделать это вручную
User::query() -gt;join('campaigns c' , 'c.user_id' , '=' , 'users.id') -gt;join('payments p' , 'p.campaign_id ' , '=' , 'c.payment_id') -gt;get(['p.*']);