2014-12-23 5 views
1

프레임 워크를 zend하기 위해 더 최신이며 쿼리에서 한 가지 문제에 직면했습니다. 제발 도와주세요. 여기하나의 작은 Zend 프레임 워크에서 쿼리 문제가 발생했습니다.

$rowset = $this->tableGateway->select(function (Select $select) { 
     $syear = date('Y'); 
     $select->where(array(
     'YEAR(date) = ?' => $syear, 
     'user_id = ?' =>$myid, 
     )); 
     $select->order('id DESC'); 
     }); 
     $counter3= count($rowset); 

, 난 다음 출력이 50 ID와 현재 연도의 모든 데이터가 현재 연도의 기록 및 사용자 ID의 개수가 50처럼 고정하려면 여기

내 년 WHERE succesufully 작업의 상태 만 'user_id = ?' =>$myid

이 작동하지 않습니다, 가정하자 $에 대한 myid 값은

50하지만 난 'user_id = ?' =>50 같은 50 값을 직접 전달하면 다음의이

작업

무엇이 문제입니까,

미리 감사드립니다.

+0

어떻게 $ myid 변수를 가져 옵니까? var_dump ($ myid); 출구; 그것은 쿼리를 사용하기 전에 무엇이 잘못되었는지 알아내는 것입니다. – cptnk

+0

고마워요. 재생을 위해,하지만 var_dump 결과가'int (50)'이지만 결과가 올바르지 않습니다. 0 사용자 – mbhuva

+1

반환 된 붙여 넣기 된 쿼리 붙여 넣기 : var_dump ($ select -> __ toString()); –

답변

0

나는 손님이 됨 $myid은 select 함수가 호출되기 전에 정의됩니다. 이 경우에는이 변수를 사용하기 위해 select 함수에 지시해야합니다.

$rowset = $this->tableGateway->select(function (Select $select) use($myid) {}); 
+0

예, 재생 해 주셔서 감사합니다.이 동일한 솔루션을 얻고 있습니다. – mbhuva