спецификации: PHP 5 с mySQL, построенный на основе Codeigniter Framework.Как мне создать вызов базы данных php?
У меня есть таблица с базой данных game
, а затем специальные спортивные таблицы, такие как soccerGame
и footballGame
. эти специальные спортивные таблицы имеют поле gameId
, связывающееся с таблицей game
. У меня есть соответствующие классы game
и soccerGame
/footballGame
, которые оба распространяются game
.
Когда я ищу информацию о игре для отображения пользователю, мне трудно понять, как динамически связывать две таблицы. Мне любопытно, можно ли получить всю информацию с помощью одного запроса. Проблема в том, что мне нужно сначала запросить таблицу game
, чтобы выяснить название спорта.
Если это невозможно, моя следующая мысль - сделать это с двумя запросами. попросите мой game_model
запросить игровой стол, а затем, основываясь на названии спорта, назовите соответствующую спортивную конкретную модель (то есть soccer_game_model
) и получите информацию о спорте.
Я хотел бы также передать game
объект в soccer_model
и soccer_model
будет использовать этот объект, чтобы построить мне soccerGame
объект. это кажется немного глупым для меня, потому что я строю родительский объект, а затем даю его расширяющему классу, чтобы создать совершенно новый объект?
мысли?
благодарит за помощь.
EDIT:
игровой стол
gameId
sport (soccer, basketball, football, etc)
date
other data
soccerGame стол
soccerGameId
gameId
soccer specific information
footballGame стол
footballGameId
gameId
football specific information
и так далее для других видов спорта
Так что мне нужно знать, что такое спорт, прежде чем я смогу решить, какой спортивный стол мне нужно вытащить.
UPDATE:
Спасибо всем за вход. Кажется, что динамический SQL возможен только через хранимые процедуры, что я сейчас не очень разбираюсь. И даже с ними все еще немного грязно. Прямо сейчас я отправлю два маршрута запроса, один для получения имени спорта, а затем переход, чтобы получить правильную модель.
С PHP стороны вещей теперь, это кажется немного глупым, чтобы получить game
объект, передать его, скажем, мой soccer_game_model
, а затем, которые возвращают мне soccer_game
объект, который является потомком оригинальной game
, Так ли это должно быть сделано? или я пропустил что-то с точки зрения ОО здесь?
У меня возникли проблемы с пониманием проблемы и настройки. Можете ли вы опубликовать структуру своих таблиц? – SomeSillyName