반응형
Zend_Db_Select로 WHERE IN 절을 만드는 방법
그래서 나는 다음과 같은 것을 성취하려고 노력하고 있습니다.
SELECT * FROM table WHERE status_id IN (1,3,4);
Zend_Db_Select를 사용하는 중 ... 방법을 찾을 수 없습니다 :( 전혀 가능합니까?
다음과 같이 사용할 수도 있습니다.
$data = array(1,3,4);
$select->where('status_id IN(?)', $data);
배열을 파열 할 필요가 없으며 더 안전합니다.
첫 번째 답변은 아마도 ZF1에서 작동하지만 Zend Framework 2에서는 작동하지 않습니다.
$data = array(1,3,4);
$select->where('status_id IN(?)', $data);
Zend Framework2의 경우 다음을 사용해야 함을 알았습니다.
$data = array(1,3,4);
$select->where(array('status_id' => $data));
결과:
WHERE `status_id` IN ('1', '3', '4')
이 문서는 어디에도 없습니다! ZF 문서는 일반적으로 차선책입니다.
분명히 그것은 매우 간단합니다 ... 어리석은 날 :
$select->where('status_id IN(1,3,4)');
:(
Zend\Db\Sql\Predicate\In
with Zend\Db\Sql\Where
를 사용 하여 모델 내 에서 where in 쿼리 를 만들 수 있습니다 .
$this->status_ids = array(1,3,4);
// select attributes from db by where in
$result = $this->select(function (Select $select) {
$predicate = new In();
$select->where(
$predicate->setValueSet($this->status_ids)
->setIdentifier('status_id')
);
})->toArray();
This solution works well with zf2
$ids = array('1', '2', '3', '4', '5', '6', '7', '8');
$select->where(array("app_post_id"=> $ids));
또는
$ids = array('1', '2', '3', '4', '5', '6', '7', '8');
$sql = new Sql($this->adapter);
$select = $sql->select();
$select->from('app_post_comments');
$select->where(array("app_post_id"=> $ids));
// echo $select->getSqlString($this->adapter->getPlatform());
// exit;
$statement = $sql->prepareStatementForSqlObject($select);
$result = $statement->execute();
$resultSet = new ResultSet();
$resultSet->initialize($result);
$resultSet->buffer()->toArray();
echo '<pre>';
print_r($resultSet);
exit;
return $resultSet;
$completionNo = implode(",",$data);
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
$select = $db->select()->from(array("p"=>PREFIX . "property_master"),array('id','completion_no','total_carpet_area'))->where("p.completion_no IN (?)", $completionNo);
참고 URL : https://stackoverflow.com/questions/339714/how-to-create-where-in-clause-with-zend-db-select
반응형
'code' 카테고리의 다른 글
Visual Studio에서 단위 테스트의 실행 순서 제어 (0) | 2020.11.16 |
---|---|
Django 1.7 업그레이드 오류 : AppRegistryNotReady : 앱이 아직로드되지 않았습니다. (0) | 2020.11.16 |
pdfminer를 라이브러리로 사용하는 방법 (0) | 2020.11.16 |
PhantomJS 인스턴스의 '풀'을 관리하는 방법 (0) | 2020.11.15 |
Meteor의 반응성은 배후에서 어떻게 작동합니까? (0) | 2020.11.15 |