2013-02-04 3 views
0

첫 번째와 두 번째 테이블에서 필드를 선택하는 zf2를 사용하여 간단한 조인을하고 싶지만 열의 필드 배열을 넣으려고하면 'Statement could not be executed'라는 오류가 발생합니다.zf2 - Zend Db TableGateway TableGateway를 사용하여 가입하십시오.

public function fetchAll() 
{ 
    $resultSet = $this->tableGateway->select(function (Select $select) { 
     $select->columns();// ->with params gives an 'Statement could not be executed' 
     $select->join(array('t2' => 'categories'), 'table1.idCategory = t2.id'); 
     $select->order('dateTime DESC')->limit(100); 
    }); 
... 
} 
+0

여기에서 답을 찾을 수 있습니다. -> http://stackoverflow.com/questions/14354802/tablegateway-with-multiple-from-tables/14371056#14371056 – Diemuzi

+0

예외를 반환 할 때 사용하고있는 예를 보여줄 수 있습니까? ? – Andrew

답변

0

dateTime/id 필드가 입력 한 열 목록에 있는지 확인해야합니다.

예외 ($ e-> getTraceAsString())를 덤프하면 오류의 원인에 대한 자세한 정보가 표시됩니다.

0

또는 하나의 유효한 '열'이름을 배열 (테이블 열/필드 이름)에 하나 이상 추가하십시오.

$select->columns(array('column_one', 'column_two', 'column_N')); 

$select->columns();

는 오류가 발생 SELECT FROM table_name 같은 SQL 쿼리 뭔가를 생성합니다.

이 문을 주석으로 처리하면 SELECT * FROM table_name 과 같은 SQL 쿼리가 생성되고 열 이름을 전달하면 별표가 해당 문구로 바뀝니다.