У меня сложный трехслойный запрос, в котором я хотел бы передать имя таблицы в качестве параметра.Я использую код вроде this:
DB::query(Database::SELECT, 'SELECT
SUM(volume) AS `volumeTotal`,
MIN(volume) AS `volumeMin`,
MAX(volume) AS `volumeMax`,
AVG(volume) AS `volumeAverage`,
STD(volume) AS `volumeSD`
FROM (
SELECT TIMEDIFF (DT,CAST( @dt AS DATETIME )) AS Ival, CAST( @dt AS DATETIME ) AS `start` , @dt := DT AS `stop` , `volume`
FROM ( SELECT @dt := NULL) dt,
( SELECT * FROM :table WHERE id = :XID) vals
ORDER BY dt ASC) vI')
->param(':table', $tableName)
->param(':XID', $ID)
->execute();
Для меня не подходит использовать конструктор запросов (и я думаю, что это не оптимальный способ).Конечно, я могу вводить параметры в запрос напрямую, например ".$tableName.
", но я думаю, что должен быть более правильный путь.
Вопрос:
Как передать имя таблицы в качестве параметра в запрос к базе данных с помощью Kohana?