Laravel: Отношения Пользователь hasOne Group, Group hasMany User - PullRequest
0 голосов
/ 14 сентября 2018

Я хочу создать связь между двумя таблицами «пользователи» и «группы», в этом отношении пользователь принадлежит только к одной группе, и в группе есть несколько пользователей, чтобы решить эту проблему, как я должен проектировать таблицу?Нужна таблица "group_user"?

1 Ответ

0 голосов
/ 14 сентября 2018

Вы должны использовать только две таблицы, имена которых «пользователи» и «группы».Потому что у одного пользователя есть только одна группа.Таким образом, для сводной таблицы не требуется.

Столбцы таблиц должны быть такими:

Users : идентификатор, имя, идентификатор_группы

Groups : id, name

В сущности User вы должны сделать следующее отношение:

/**
 * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
 */
public function group()
{
    return $this->belongsTo( Group::class, 'group_id', 'id' );
}

А в сущности Group:

/**
 * @return \Illuminate\Database\Eloquent\Relations\HasMany
 */
public function users()
{
    return $this->hasMany( User::class, 'group_id', 'id' );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...