Добрый день.
Подскажите как лучше организовать БД.
Суть следующая есть игра(что-то похожее на мафию), в ней:
1. Должны храниться айдишники игроков.
2. Должны храниться айдишники шпионов (зависит от кол-ва игроков в игре от 3 до 4
3. Результат игры, зависит от результата ходов.
В каждой игре есть 5 ходов:
1. В каждом ходе есть лидер
2. В каждом ходе делают действия от 2х до 3х игроков
3. Должен сохраняться результат хода (выиграли шпионы или нет)
Вариант пихать все в одну таблицу - плохой (или нет?). Можно перечислять айдишники в поле "участники", через запятую обернув в ## и запросы все составлять ->where('like', '=', '#'. $user->id. "#")
Как думаю сделать я.
Таблица игры. "id", 'result'
Таблица с участниками игры "game_id", 'spy', 'user_id'. В колонке spy true, false (шпион или нет)
Таблица c ходами "game_id", "round", 'leader', 'round_result'. Но как сюда записать игроков ходивших в раунде без ## ? Создавать еще одну таблицу? C 'game_id', 'round', 'user_id'?
Может есть еще какие-то варианты? В дальнейшем мне понадобиться делать выборки по игрокам, сколько раз играл, сколько у него побед, сколько раз был шпионом,лидером и тд.
С какой реализацией потом будет меньше всего проблем?