CodeIgniter Active Record를 사용하여 NOT IN 하위 쿼리로 SELECT 쿼리를 실행하는 방법은 무엇입니까?
Nov 26, 2024 am 11:35 AMCodeIgniter 활성 레코드: NOT IN 하위 쿼리를 사용하여 SELECT 쿼리 실행
이 시나리오에서는 ' '해지' 테이블에 없는 인증서' 테이블입니다. 이 쿼리에 대한 기존 SQL 구문은 다음과 같습니다.
SELECT * FROM certs WHERE id NOT IN (SELECT id_cer FROM revokace);
CodeIgniter의 활성 레코드 패턴을 사용하여 이를 달성하려면 '->where()' 메서드를 활용할 수 있습니다. 그러나 쿼리에서 특수 문자와의 잠재적인 충돌을 처리하는 것이 중요합니다.
해결책:
CodeIgniter의 '->where()' 메서드는 사용자 정의 쿼리 전달을 편리하게 지원합니다. 데이터베이스에 직접 문자열을 보냅니다. 이를 통해 쿼리를 다음과 같이 작성할 수 있습니다.
$this->db->select('*') ->from('certs') ->where('`id` NOT IN (SELECT `id_cer` FROM `revokace`)', NULL, FALSE);
이 쿼리에서 'NULL,FALSE' 인수는 CodeIgniter가 이스케이프를 수행하지 않고 하위 쿼리의 무결성을 유지하도록 보장합니다.
선택적 대안:
추가 코드 최적화를 위해 다음을 사용하는 것이 좋습니다. CodeIgniter 하위 쿼리 라이브러리. 전용 인터페이스를 제공하여 하위 쿼리 생성을 단순화합니다. 하위 쿼리 라이브러리를 사용한 쿼리는 다음과 같습니다.
$this->db->select('*') ->from('certs'); $sub = $this->subquery->start_subquery('where_in') ->select('id_cer') ->from('revokace'); $this->subquery->end_subquery('id', FALSE);
위 내용은 CodeIgniter Active Record를 사용하여 NOT IN 하위 쿼리로 SELECT 쿼리를 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법

Laravel Back End : Part 2, React가있는 React 앱 구축
