Я Laravel Noob (3 месяца) и новичок в Webdev и OOP, работаю над своим собственным проектом. Пожалуйста, извините, если мой вопрос является дубликатом, я искал (прочитал много), но не знал, какие термины использовать, и ни один из них не выглядел одинаково. У меня ушла неделя, чтобы написать вопрос. Надеюсь, это понятно.
Я работаю над игрой, в которой игроки (пользователи) делают ряд игр ; каждый набор игр - это ничья в различных раундах .
По сути, каждый раунд похож на отдельную игру / сессию, и каждый розыгрыш - это игрок, делающий несколько игр перед тем, как перейти к следующему круглый. Игроки получают только одну ничью за раунд. Количество пьес в розыгрыше зависит от раунда. Игроки рисуют в случайном порядке. Использование mysql.
Rounds table
ID | ROUND_NAME | TIME |NUM_PLAYS |OTHER ATTRIBS |OTHER |
1 first_round 1pm 4 blah
2 second_round 2pm 12 blah
3 third_round 3pm 6 blah
…
Round01Draws
ID | PLAYER | PLAY 1 | PLAY 2 | PLAY 3 | PLAY 4 |
draw_01 player_id (1st) play-1 play-2 play-3 play-4
draw_02 player_id (2nd) play-1 play-2 play-3 play-4
draw_03 ... ...
Round02Draws
ID | PLAYER | PLAY 1 | PLAY 2 | PLAY 3 | PLAY 4 | PLAY 5 ... 12
draw_01 player_id (1st) play-1 play-2 play-3 play-4 play-5 ...play-12
draw_02 player_id (2nd) play-1 play-2 play-3 play-4 play-5 ...play-12
draw_03 ... ...
Пожалуйста, сообщите, если это неверно: На мой взгляд, каждый раунд др aws должен быть отдельной таблицей БД, как указано выше; У меня не может быть только одного большого стола, в котором перечислены все др aws (с round_id) из всех раундов, потому что было бы много нулей для раундов с меньшим количеством игр. Каждый раунд будет отображаться в своем собственном представлении (show.blade), показывая все др aws, сделанные в этом раунде.
Я думаю, что моя проблема в том, как пройти правильный (динамический c) класс рисования присвойте имя раунду через один RoundsController. php метод show () для отображения обоих на странице вместе для всех связанных раундов / dr aws вместо отдельного контроллера и модели рисования для каждого раунда (ie Round03Controller и Draw03. php). Имеет ли это смысл?
Очевидно, раунд имеет много Dr aws и каждая ничья принадлежит к раунду, но я не уверен, как использовать эти отношения , Кажется, я мог бы просто проигнорировать отношение и отобразить каждый Раунд в его show.blade и отобразить его Dr aws в качестве другого списка экземпляров объекта в том же виде. Это не похоже на реальную зависимость, но, возможно, отношения будут полезны позже, и я бы хотел узнать, как ее разработать / использовать в любом случае.
Вопросы
Нужно ли мне отдельный контроллер (расширяющий RoundsController) и модель (внешняя часть Draw) для каждого раунда, или я мог бы использовать один RoundsController и заставить метод show () отображать связанный Dr aws, возможно, с помощью динамических c имен из переменных GET, например, если id = 3, то $ dr aws = Draw03 :: class (что-то в этом роде). Я попытался сделать динамические c круглые имена и получил ошибку; и он попытался импортировать динамический c класс.
Будут ли отношения в родительских моделях работать в дочерних моделях, ie, если Round hasMany Dr aws будет Round01 hasMany Draws01 без явного указания в расширенном модели?
Я полагаю, что можно использовать «подстановочный знак»? параметры в соответствующих методах, но не уверен, как go об этом. Спасибо за любую помощь.