У меня две модели: User
и Businesses
.Laravel eloquent - manyToMany, несколько «ролей» на сводном сводном столе
В бизнесе может быть много пользователей, а также бизнес может иметь много пользователей.
Например:
- Джон является администратором для бизнес1.
- John - суперадмин для Business2.
- Mike является клиентом для Business1.
- Mike является подписчиком на Business1.
Каков наилучший способ связаться с ними и запросить их позже.
Я построил таблицу business_user
поворота и добавил Pivot столбцы
$table->boolean('superadmin')->default(false);
$table->boolean('admin')->default(false);
$table->boolean('customer')->default(false);
$table->boolean('subscriber')->default(false);
Является ли это путь, или я должен делать это по-другому? Только другая вещь, которая возникает, это разные сводные таблицы для каждого типа отношения, но это кажется плохой идеей.
Я бы запросить их как:
$user->businesses()->wherePivot('subscriber',true)->get();
Я надеюсь, что я не пропускал синтаксис в любом месте, но если бы я сделал, пожалуйста, поправьте меня из-за других.
В следующем шаге также есть Redis
.
Спасибо за ваше время. Мне не нужна такая гибкость, но мне понадобятся пользовательские разрешения (Подписчик не может делать то же самое для бизнеса, что и администратор и т. Д.). Однако, я думаю, что это легко выполнимо с моей настройкой. Я буду изучать ваш пример более подробно, поскольку это то, что я буду в этом нуждаться в будущем. – dbr