find()

첫 번째 매개 변수로 전달된 값과 기본 키가 일치하는 단일 행(row)을 리턴합니다.

$userModel->find(1);

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


* Query : SELECT * FROM `my_table` WHERE `my_table`.`idx` = 1

값은 `$returnType`에 지정된 형식으로 반환됩니다.
하나의 키 대신 primaryKey 배열을 전달하여 둘 이상의 행을 반환하도록 지정할 수 있습니다.

$userModel->find([1, 2]);

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

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

)


* Query : SELECT * FROM `my_table` WHERE `my_table`.`idx` IN (1,2)

매개 변수를 전달하지 않으면, `findAll()`처럼 작동하여 모델의 테이블에 있는 모든 행을 리턴합니다.

$userModel->find();

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

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

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

)


* Query : SELECT * FROM `my_table`

findColumn()

null 또는 인덱스화된 열(column)의 값 배열을 반환합니다.
`$column_name`은 단일 열의 이름이어야 합니다. 그렇지 않으면 DataException이 발생합니다.

$userModel->findColumn('name');

Array
(
    [0] => test1
    [1] => test2
    [2] => test3
)


* Query : SELECT `name` FROM `my_table`

검색 조건은 쿼리 빌더의 `where()` 메소드를 통하여 전달할 수 있습니다.

$userModel->where('idx', 1)->findColumn('name');

Array
(
    [0] => test1
)


* Query : SELECT `name` FROM `my_table` WHERE `idx` = 1

findAll()

테이블에서 모든 결과를 검색하여 반환합니다.

$userModel->findAll();

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

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

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

)


* Query : SELECT * FROM `my_table`

필요에 따라 쿼리 빌더의 메소드를 추가하여 검색 조건을 지정할 수 있습니다.

$userModel->where('name', 'test2')->findAll();

Array
(
    [0] => Array
        (
            [idx] => 2
            [name] => test2
            [title] => title-test2
            [email] => test2@test.com
        )

)


* Query : SELECT * FROM `my_table` WHERE `name` = 'test2'

limit 및 offset 값을 각각 첫 번째와 두 번째 매개 변수로 전달할 수 있습니다.

$userModel->findAll(2, 1);

Array
(
    [0] => Array
        (
            [idx] => 2
            [name] => test2
            [title] => title-test2
            [email] => test2@test.com
        )

    [1] => Array
        (
            [idx] => 3
            [name] => test3
            [title] => title-test3
            [email] => test3@test.com
        )

)


* Query : SELECT * FROM `my_table`  LIMIT 1, 2

first()

결과 집합의 첫 번째 행을 반환합니다. 쿼리 빌더와 함께 사용하는 것이 가장 좋습니다.

$userModel->like('name', 'test')->first();

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


* Query : SELECT * FROM `my_table` WHERE `name` LIKE '%test%' ESCAPE '!'  LIMIT 1