В таблицах моей базы данных (mysql) используются столбцы TIMESTAMP, и всякий раз, когда я хочу, чтобы они возвращались в запрос, я хочу, чтобы они были запрошены как «UNIX_TIMESTAMP (имя столбца)».zend framework автоматически меняет запросы
Как легко изменить запросы в рамках zend для достижения этой цели?
Например, текущий код:
select = $this->select();
$select->where('user_id = ?',$user_id);
return $this->fetchAll($select);
В конечном итоге это становится:
select * from tablename where user_id = 42;
Я хочу кое-что автоматически находит столбец TIMESTAMP и изменяет результирующий запрос:
select user_id,name,unix_timestamp(created) where user_id = 42;
Я знаю, что я могу использовать представление MySQL для достижения этого, но я бы предпочел избежать этого т.
Спасибо.
RR
Спасибо за ваш ответ. Да, это очевидно. То, что я ищу, - это способ сделать это без указания всех столбцов. Я хочу, чтобы общее решение, которое не требует, чтобы я поддерживал список столбцов в PHP-коде для каждой таблицы с меткой времени. – russellr
Ahhh. Извините, я не понял. Я бы рекомендовал посмотреть на что-то вроде Doctrine2. Это отобразит ваши классы PHP в MySQL с помощью аннотаций. Он будет генерировать правильные запросы в зависимости от того, как вы аннотировали поле. Doctrine2 ORM поддерживает сопоставление между типом TIMESTAMP MySQL и PHP DateTime автоматически. Это, вероятно, слишком велико, потому что вы хотите этого, но это облегчает жизнь, когда вы получите это. http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html –