Я начал изучать cakephp 3, и это будет мой учебный проект. Идея приложения заключается в том, что каждый пользователь может иметь много продуктов, и пользователи могут торговать продуктами между ними. Рабочий процесс:Советы, необходимые для модели базы данных - Partial EER прилагается
- Таким образом, один пользователь может посетить профиль другого пользователя, и он может нажать кнопку торговли. Это покажет все продукты обоих пользователей, но отдельно для каждого пользователя.
- Пользователь может теперь выбрать один или несколько своих товаров, и он также должен выбрать один или несколько продуктов для начала своей работы.
- Другой пользователь получит уведомление, что у него есть торговое предложение, и ему придется ответить. Теперь он может выбрать принять, отклонить или изменить торговли
- Восприняв торговля получает «заблокирован»
- Если отвергнуто торговля получает «заблокирован»
- Если пользователь нажимает на торговлю изменения, затем он должен повторно его и другие продукты пользователей и отправить. Здесь мы возвращаемся к точке 3
Это мой дизайн DB до сих пор, но я думаю, что это не самое лучшее решение, поэтому я положил мои надежды на вас, ребята, чтобы предложить мне лучшее решение, если у вас есть один
Если я суммирую все. Когда происходит торговля, мне нужно знать, кто торгует каким-либо (несколькими продуктами), с кем и в каком направлении он принимает, отклоняет или повторно выбирает торговые продукты. Я также ищу, возможно, для более значимых имен моих столбцов. Так как в какой-то момент роли пользователей меняются, и тот, кто запрашивал продукты, теперь находится на рассмотрении, и наоборот.
Если вам нужна дополнительная информация, пожалуйста, сообщите мне, и я предоставлю. Заранее спасибо
В стороне: [_Advice on many: many schema_] (http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table) –
Что будет с пользовательскими продуктами после торговли? Я имею в виду, что если пользователь 1 имел продукты A, B, C и user 2, имел продукты D, E. И торговля была между продуктами A, B и D, E. Таким образом, после успешной торговли пользователь 1 имеет продукты D, E, C и пользователь 2 - A, B? –
И что означает «запертый»? Возможно, торговые продукты блокируются для новых новых сделок до тех пор, пока сделка не будет принята или отвергнута. –