$builder->select('*')
    ->groupStart()
        ->like('name', 'test')
        ->orGroupStart()
            ->like('title', '1')
            ->where('name', 'test1')
        ->groupEnd()
    ->groupEnd()
->get()
->getResult();

Array
(
    [0] => stdClass Object
        (
            [idx] => 1
            [name] => test1
            [title] => title-test1
            [email] => test1@test.com
        )

    [1] => stdClass Object
        (
            [idx] => 2
            [name] => test2
            [title] => title-test2
            [email] => test2@test.com
        )

    [2] => stdClass Object
        (
            [idx] => 3
            [name] => test3
            [title] => title-test3
            [email] => test3@test.com
        )

)


* Query : SELECT * FROM `my_table` WHERE   ( `name` LIKE '%test%' ESCAPE '!' OR    ( `title` LIKE '%1%' ESCAPE '!' AND `name` = 'test1'   )  )

$builder->groupStart()

쿼리의 WHERE절에 여는 괄호를 추가하여 새 그룹을 시작합니다.

$builder->orGroupStart()

쿼리의 WHERE절에 ‘OR’ 접두사와 함께 여는 괄호를 추가하여 새 그룹을 시작합니다.

$builder->notGroupStart()

쿼리의 WHERE절에 ‘NOT’ 접두사와 함께 여는 괄호를 추가하여 새 그룹을 시작합니다.

$builder->orNotGroupStart()

쿼리의 WHERE절에 ‘OR NOT’ 접두사와 함께 여는 괄호를 추가하여 새 그룹을 시작합니다.

$builder->groupEnd()

쿼리의 WHERE절에 닫는 괄호를 추가하여 현재 그룹을 종료합니다.

$builder->havingGroupStart()

쿼리의 HAVING절에 여는 괄호를 추가하여 새 그룹을 시작합니다.

$builder->orHavingGroupStart()

쿼리의 HAVING절에 ‘OR’ 접두사와 함께 여는 괄호를 추가하여 새 그룹을 시작합니다.

$builder->notHavingGroupStart()

쿼리의 HAVING절에 ‘NOT’ 접두사와 함께 여는 괄호를 추가하여 새 그룹을 시작합니다.

$builder->orNotHavingGroupStart()

쿼리의 HAVING절에 ‘OR NOT’ 접두사와 함께 여는 괄호를 추가하여 새 그룹을 시작합니다.

$builder->havingGroupEnd()

쿼리의 HAVING절에 닫는 괄호를 추가하여 현재 그룹을 종료합니다.