CodeIgniter의 하위 쿼리 필터링: 쿼리 빌더 접근 방식
당면 작업은 다음 SQL 쿼리를 CodeIgniter의 활성 레코드 구문으로 변환하는 것입니다.
SELECT * FROM certs WHERE id NOT IN (SELECT id_cer FROM revokace);
이 쿼리는 "revokace" 테이블에서 "id_cer"를 선택하는 하위 쿼리에 "id" 열이 없는 "certs" 테이블.
활성 레코드 구현
CodeIgniter의 쿼리 빌더는 간단한 솔루션을 제공합니다.
$this->db->select('*') ->from('certs') ->where('`id` NOT IN (SELECT `id_cer` FROM `revokace`)', NULL, FALSE);
"where()" 메소드는 다음을 허용합니다. 원시 SQL 문자열을 첫 번째 인수로 사용하여 하위 쿼리를 기본 쿼리에 직접 통합할 수 있습니다. 두 번째 및 세 번째 인수(NULL 및 FALSE)는 CodeIgniter가 하위 쿼리를 이스케이프하는 것을 방지합니다. 그렇지 않으면 쿼리가 중단될 수 있습니다.
하위 쿼리 라이브러리 확장
또는 하위 쿼리 라이브러리:
$this->db->select('*') ->from('certs') ->subquery('where_in', function($subquery) { $subquery->select('id_cer') ->from('revokace'); }, 'id', FALSE);
이 기술은 보다 간결하고 CodeIgniter 쿼리에 하위 쿼리를 통합하기 위한 재사용 가능한 솔루션입니다.
위 내용은 Active Record 또는 하위 쿼리 라이브러리를 사용하여 CodeIgniter에서 하위 쿼리 필터링을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!