1. 特定フィールドのデータを配列として抽出 — pluck
メソッド
pluck
メソッドは特定のフィールドのデータを配列として迅速に抽出する際に使用されます
- このメソッドはデータベースから必要なカラムのみを選択し、メモリ使用量を減らしパフォーマンスを向上させます
- 大量のデータの中から特定のフィールドだけが必要な場合に便利に使用されます
例1
User.pluck(:name)
- このコードは
User
テーブルからすべてのユーザーの名前だけを配列で抽出します
- 結果は例えば
["Alice", "Bob", "Charlie"]
のような配列形式で返されます
例2
- 複数のカラムを同時に抽出したい場合は、複数のカラム名を指定できます
User.pluck(:name, :email)
- 各ユーザーの名前とメールアドレスがタプル(配列の配列)形式で返されます
- 例:
[["Alice", "alice@example.com"], ["Bob", "bob@example.com"]]
2. データの存在確認 — exists?
メソッド
exists?
メソッドは特定の条件のデータがデータベースに存在するかどうかを確認する際に使用されます
- 結果のサイズや内容に関わらず、単にデータの存在有無のみを迅速に返します
例1
User.exists?(name: "Alice")
User
テーブルに名前が "Alice" のユーザーが存在するかを確認します
- 存在する場合は
true
、そうでない場合は false
を返します
例2
- 特定のIDを持つレコードの存在有無も確認できます
- これはIDが1のユーザーが存在するかを確認します
User.exists?(1)