0
내 데이터베이스 (mysql) 테이블은 TIMESTAMP 열을 사용하며 쿼리에서 반환 할 때마다 "UNIX_TIMESTAMP (columnname)"로 쿼리하려고합니다.젠드 프레임 워크가 자동으로 쿼리를 변경합니다.
이렇게하려면 zend 프레임 워크에서 어떻게 쿼리를 쉽게 수정합니까?
예를 들어, 현재 코드는 다음과 같습니다
는select = $this->select();
$select->where('user_id = ?',$user_id);
return $this->fetchAll($select);
이 결국됩니다 :
select user_id,name,unix_timestamp(created) where user_id = 42;
:
select * from tablename where user_id = 42;
내가 자동으로 타임 스탬프 열을 발견하고 결과 쿼리를 변경 뭔가를 원하는
나는 이것을 달성하기 위해 MySQL보기를 사용할 수 있음을 알고 있지만 차라리 그쪽을 피하고 싶다. 티.
감사합니다.
RR
답변 해 주셔서 감사합니다. 예, 명백합니다. 내가 찾고있는 것은 모든 열을 지정하지 않고이를 수행하는 방법입니다. 타임 스탬프가있는 모든 테이블에 대해 PHP 코드에서 열 목록을 유지 관리 할 필요가없는 제네릭 솔루션이 필요합니다. – russellr
아. 미안하다. 그러면 Doctrine2와 같은 것을 살펴 보는 것이 좋습니다. 주석을 사용하여 PHP 클래스를 MySQL로 매핑합니다. 필드에 주석을 추가 한 방법에 따라 올바른 쿼리를 생성합니다. Doctrine2 ORM은 TIMESTAMP MySQL 유형과 PHP DateTime 간의 매핑을 자동으로 지원합니다. 당신이 원한다면 과잉 공격일지도 모르지만, 일단 당신이 그것에 매달린다면 더 쉽게 삶을 살 수 있습니다. http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html –