Первая проблема
Вы можете использовать идентификатор ваучера и, например, идентификатор пользователя.Так что, если у нас есть 2 пользователя и 1 ваучер, то эти уникальные коды будут выглядеть так: 1-1, 1-2.
Если они будут выглядеть как 1-1 и 1-2, то при простом разнесении на -
отметьте, что у вас будет массив из двух элементов, где первым будет идентификатор ваучера, а вторым будет идентификатор пользователя.Вы можете хранить его в таблице ваучеров ...
Но лучшим подходом будет, если вы будете использовать отношения многие ко многим.Вы создаете таблицы Users
, Vouchers
и UserVouchers
и соединяете функции между ними.Пользователь может иметь много пользовательских ваучеров, но пользовательский ваучер имеет только один ваучер.Посмотрите на мою базу данных: http://www.laravelsd.com/share/8O0xtZ. Это называется pivot, и вы создаете его, когда подключаете пользователя с помощью ваучера.
Вторая проблема
ОтUserVoucher
В зависимости от того, сколько раз вы использовали этот ваучер.Вам нужно иметь только столбец в таблице ваучеров, например, max_users
, и если вы пишете там, например, 4, вам нужно предотвратить создание нового взаимодействия, если у вас есть 4 строки в UserVoucher
или во внешнем интерфейсе, вы можете проверить это и нет показать кнопку покупки.Оба безопасных пути будут хороши;)