Вложенные отношения, такие как $ member-> assigner-> name из одной таблицы - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь добиться отношения отношения (или чего-то подобного) из таблицы с user_id (assignee) и assigner_id (assigner) в таблице task_assigns.

Пробовал много вариантов отношений, однако не могуобдумайте это.

Я пытался hasOne () и hasOneThrough () , однако это не похоже на работу, так как я уверен, что я не делаюэто правильный путь.

Цель состоит в том, чтобы отобразить задание, назначенных членов и назначить каждого участника в конкретном задании.

Итак, задание (модель) имеет много членов:

public function members()
{
    return $this->belongsToMany('App\User', 'task_assigns');
}

Так что $ task-> members () явно читает user_id из task_assigns

Таблица task_assigns имеет столбцы:

| id | task_id | user_id | assigner_id |
|----|---------|---------|-------------|
| 1  | 12      | 1       | 7           |
| 2  | 12      | 2       | 8           |
| 3  | 10      | 1       | 2           |

Что должно означать - у каждого уполномоченного задачи есть один присваиватель.

И, на мой взгляд, я перечисляю $ task-> members таким образом

@foreach($task->members as $member)
    {{ $member->name }} (assigned by: [who?])
@endforeach

В конечном результате у меня есть

Task #12

John (assigned by: ??)
Pete (assigned by: ??)

Моя цель - показать, кто назначил каждого участника в задании, однако я не могу это сделать ..

1 Ответ

0 голосов
/ 18 апреля 2019

Я решил это в конце концов.

Теперь TaskModel hasMany назначает, и TaskAssign имеет членов.Таким образом я называю их так:

{{ $task->assign->member->name }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...