이 함수를 사용하면 다섯 가지 방법중 하나를 사용하여 WHERE 절을 설정할 수 있습니다.
$builder->where('idx', 1)->get()->getResult(); = print_r($builder->where('idx', 1)->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
등호(=)가 추가됩니다.
`where()` 함수를 여러번 호출하면 AND와 함께 체인으로 연결됩니다.
$builder->where('idx', 1)->where('name', 'test1')->get()->getResult(); = print_r($builder->where('idx', 1)->where('name', 'test1')->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
비교를 제어하기 위해 첫 번째 매개 변수에 연산자를 포함시킬 수 있습니다
$builder->where('name !=', 'test1')->where('idx <', 2)->get()->getResult(); = print_r($builder->where('name !=', 'test1')->where('idx <=', 2)->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
이 방법을 사용할 때 사용자 연산자를 포함시킬 수 있습니다.
$builder->where(['name' => 'test1', 'idx <' => 3])->get()->getResult(); = print_r($builder->where(['name' => 'test1', 'idx <' => 3])->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
비교절을 직접 작성할 수 있습니다.
$builder->where("name = 'test2' AND idx <= 3")->get()->getResult(); = print_r($builder->where("name = 'test2' AND idx <= 3")->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
`$builder->where()`는 세 번째 매개 변수를 옵션으로 허용하며, `false`로 설정하면 필드 또는 테이블 이름을 보호하지 않습니다.
$builder->where("name IN ('test1', 'test2')", null, false)->get()->getResult(); = print_r($builder->where("name IN ('test1', 'test2')", null, false)->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
익명 함수를 사용하여 서브 쿼리를 만들 수 있습니다.
$builder->where('idx <', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->selectMax('idx')->from('my_table'); })->get()->getResult(); = print_r($builder->where('idx <', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->selectMax('idx')->from('my_table'); })->get()->getResult()) ?>
* Query : = $db->getLastQuery() ?>
이 함수는 여러 인스턴스가 OR로 결합된다는 점을 제외하고 위의 함수와 동일합니다.
$builder->where('name', 'test2')->orWhere('name', 'test3')->get()->getResult(); = print_r($builder->where('name', 'test2')->orWhere('name', 'test3')->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
AND로 결합된 WHERE field IN ('item', 'item') SQL 쿼리를 생성합니다.
$builder->where('name', 'test2')->whereIn('idx', [1,2])->get()->getResult(); = print_r($builder->where('name', 'test2')->whereIn('idx', [1,2])->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
배열 대신 서브 쿼리를 사용할 수 있습니다.
$builder->where('name', 'test2')->whereIn('idx', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->select('idx')->from('my_table'); })->get()->getResult(); = print_r($builder->where('name', 'test2')->whereIn('idx', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->select('idx')->from('my_table'); })->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
OR로 결합된 WHERE field IN ('item', 'item') SQL 쿼리를 생성합니다.
$builder->where('name', 'test2')->orWhereIn('idx', [1,2])->get()->getResult(); = print_r($builder->where('name', 'test2')->orWhereIn('idx', [1,2])->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
배열 대신 서브 쿼리를 사용할 수 있습니다.
$builder->where('name', 'test2')->orWhereIn('idx', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->select('idx')->from('my_table')->where('idx <', 1); })->get()->getResult(); = print_r($builder->where('name', 'test2')->orWhereIn('idx', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->select('idx')->from('my_table')->where('idx <', 1); })->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
AND로 결합된 WHERE field NOT IN ('item', 'item') SQL 쿼리를 생성합니다.
$builder->where('name !=', 'test2')->whereNotIn('idx', [1,2])->get()->getResult(); = print_r($builder->where('name !=', 'test2')->whereNotIn('idx', [1,2])->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
배열 대신 서브 쿼리를 사용할 수 있습니다.
$builder->where('name !=', 'test2')->whereNotIn('idx', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->select('idx')->from('my_table')->whereIn('idx', [1,2]); })->get()->getResult(); = print_r($builder->where('name !=', 'test2')->whereNotIn('idx', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->select('idx')->from('my_table')->whereIn('idx', [1,2]); })->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
OR로 결합된 WHERE field NOT IN ('item', 'item') SQL 쿼리를 생성합니다.
$builder->where('name !=', 'test2')->orWhereNotIn('idx', [1,2])->get()->getResult(); = print_r($builder->where('name !=', 'test2')->orWhereNotIn('idx', [1,2])->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>
배열 대신 서브 쿼리를 사용할 수 있습니다.
$builder->where('name !=', 'test2')->orWhereNotIn('idx', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->select('idx')->from('my_table')->whereIn('idx', [1,2]); })->get()->getResult(); = print_r($builder->where('name !=', 'test2')->orWhereNotIn('idx', function (\CodeIgniter\Database\BaseBuilder $builder) { return $builder->select('idx')->from('my_table')->whereIn('idx', [1,2]); })->get()->getResult(), true) ?>
* Query : = $db->getLastQuery() ?>