>백엔드 개발 >PHP 튜토리얼 >Active Record 또는 하위 쿼리 라이브러리를 사용하여 CodeIgniter에서 하위 쿼리 필터링을 구현하는 방법은 무엇입니까?

Active Record 또는 하위 쿼리 라이브러리를 사용하여 CodeIgniter에서 하위 쿼리 필터링을 구현하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-22 03:06:09770검색

How to Implement Subquery Filtering in CodeIgniter using Active Record or the Subquery Library?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.