функция отношения в моделях, использующих laravel - PullRequest
0 голосов
/ 04 мая 2020

У меня 3 таблицы. Один пользователь, второй - событие, а третий - событие-участник. Здесь у меня 3 типа пользователей. один - организатор, его статус - 1, второй - участник, его статус - 2, третий - подразделы, которые может создать организатор и участник, и их статус - 3. когда участник регистрирует событие, которое он сохраняет в таблице eventParticipant. Также, если участник регистрирует событие своим Участник также сохраняет данные на том же событии. Участник таблицы. Теперь моя проблема заключается в том, чтобы перечислить эту регистрацию на панели участника. Здесь мне нужно перечислить как участника, так и детали регистрации его подпарти. Но я не могу получить все данные. Я перечислил свою таблицу структура ниже:

1.пользователь

идентификатор имя статус электронной почты созданBy

1 A AA 2 0

2 A1 AA1 3 1

3 A2 AA2 3 2

2.EventPArticipants

id Eventid Eventowner Имя Электронная почта

  1. 25 18 A AA

  2. 27 14 A1 AA1

  3. 22 17 A2 AA2


, когда я вхожу в список home.blade участника. php Мне нужно:

Название события дата действия

A Event1 04/05/2020 шоу

A1 Event2 04/08/2020 шоу

A2 Event3 04/05/2020 шоу

здесь я использовал модель отношения, но я не получаю subpartis. eventPArticipants. php

public function active(){
        return $this->hasMany('App\Models\EventParticipants', 'email', 'email');
    }

1 Ответ

0 голосов
/ 04 мая 2020

Я не знаю, что такое даже владелец, это user_id ??? если это user_id, тогда используйте hasManyThrough, как это

public function partis(){
        return $this->hasManyThrough ('App\Models\Event',
                                      'App\Models\EventParticipants',
                                      'eventowner' or user_id,
                                      'id', // Foreign key on Event table...
                                      'id', // Local key on user table...
                                      'id' // Local key on EventParticipants
                                      );
    }

извлеките подобные данные в свой контроллер

$data = User::with('partis')
              ->where('additional logic')
              ->get();

Вы также можете использовать обратный вызов ... make Sure Your pivot table ( EventPArticipants) Это хорошо Вы можете получить точные события пользователя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...