こんにちわ、masumasuです。
少しずつ暖かくなり春らしさが感じられる頃となりましたが、皆様はいかがお過ごしでしょうか。
今回は、’find’メソッドについて書いていきます。
‘find’ は主にデータベースを検索しデータを取得する際に使用するメソッドです。
以下のように呼び出します。
$query = $user->find();
$userは対象となるデータベーステーブルのモデルです。
all
‘find’の第1引数に’all’を指定すると、全データを取得することが出来ます。
$query = $user->find('all');
上記は、指定されたテーブルのすべてのレコードが取得され、配列として返されます。
list
‘find’の第1引数に’list’を指定すると、レコードのリストを配列で取得することが出来ます。
また、リストのキーとして使用されるフィードと、リストの値として使用されるフィールドを指定出来ます。
$query = $user->find('list', ['conditions' => ['field_name' => $value]]);
上記は、指定された条件に一致するレコードのリストが取得されます。
そして、fiels_name フィールドがキーとして使用され、その値がリストの各エントリーの値として使用されます。
‘find()’は第2引数に連想配列でオプションを設定することが出来ます。
first
‘find’の後ろに’->'(アロー演算子)を使って’first’と記述することで1つ目の結果を取得することが出来ます。
$query = $user->find('all')->first();
firstの他にも、’count’(レコード数を取得)や ‘last’(最後のデータを取得)があります。
where
‘where’ は、特定の条件を指定してデータを取得することが出来ます。
$records = $table->find('all')
->where(['field_name' => $value]);
上記は、特定のフィールドが指定された値に等しいレコードを取得しています
配列のキーは条件に使用されるフィールド名であり、値はそのフィールドに一致する必要がある値です。
これにより、データベースから特定の条件に一致するレコードを抽出できます。
まとめ
今回ご紹介したメソッドは一般的によく使われるものですので、ご紹介しきれなかった他のメソッドもあるかもしれません。
興味をお持ちになった方は、調べられてはいかがでしょうか。
ご覧いただきありがとうございました。