Получил следующие модели:
- Пользователь
- Группа пользователей
- Элемент
Теперь у каждого пользователя есть belongsToMany
отношение к Item
с помощью pivot:
public function items()
{
return $this->belongsToMany(Item::class)
->withPivot('value');
}
Это структура item
:
Item
- title
- pivot:
- value
- pivot:
Пример
User
- имя: Тим
- items:
- title: car
- значение (точка поворота): 2
Теперь становится сложно: я бы хотел использовать User
также в модели UserGroup
- и каждый User
должен иметь много Item
с новой сводной таблицей, которая не идентична сводной таблице, Item
имеет, когда это точка поворота User
.
Пример
UserGroup
- название: Party-Group
- users:
- name: Tim
- items:
- title: car
- значение (точка поворота): 3
Мой подход
Поэтому я думаю, что единственно возможным решением было бы создать что-то вроде новой модели под названием UserGroupUser
(расширенный с User
) с отношением к UserGroupUserItems
(расширенный с Item
).
Но, может быть, есть более разумный способ сделать это?