첫 번째 매개 변수로 전달된 값과 기본 키가 일치하는 단일 행(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`
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
테이블에서 모든 결과를 검색하여 반환합니다.
$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
결과 집합의 첫 번째 행을 반환합니다. 쿼리 빌더와 함께 사용하는 것이 가장 좋습니다.
$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