DAY28 where! / unscope / none メソッド

TOKHEE·2024년 4월 29일
0

1. 破壊的条件適用 — where! メソッド

  • where! メソッドは where メソッドに似ています
  • 既存の条件を上書きする「破壊的」な方式で動作します
  • つまり、where! メソッドを使用すると、以前に適用されたすべての条件を削除し、新しい条件を適用します

User.where!(admin: true)
  • このコードは User モデルで管理者のみを検索するクエリを生成します
  • 以前に別の where 条件が適用されていた場合、where! メソッドを使用すると、それらの条件は無視され、新しい条件のみが適用されます

2. クエリメソッドで作成された条件の削除 — unscope メソッド

  • unscope メソッドはクエリから特定の部分を削除するために使用されます
  • whereselectorder など、既に適用されたスコープやクエリメソッドを「キャンセル」することができます

User.where(admin: true).unscope(:where)
  • User モデルで where(admin: true) 条件を適用した後、unscope(:where) を使用して where 条件を削除します
  • 結果として、すべてのユーザーを返すクエリになります

3. 空の結果の抽出 — none メソッド

  • none メソッドは何もデータを返さないクエリを生成します
  • このメソッドは主に、条件によってクエリを返すか返さないかを選ぶ時に便利に使用されます
  • none メソッドで生成されたクエリはチェーンを続けることができ、最終的には空のコレクションを返します

User.none
  • このコードは User モデルに対してデータを一切返さないクエリを生成します

0개의 댓글

관련 채용 정보