AR삽질러

Rails 一日一つメソッド (Day40) RANDOM() 본문

Ruby/RubyOnRails-日本語

Rails 一日一つメソッド (Day40) RANDOM()

아랑팡팡 2024. 2. 23. 13:58
728x90

 

Rails 一日一つメソッド (Day40) RANDOM()

 

1. RANDOM()とは

 - RANDOM()メソッドは Railsのメソッドより SQLで提供する functionで、Railsでは、orderメソッドと一緒に使うときに、ActiveRecord内で、結果を Randomに整列することに使われる。

 

2. RANDOM() Function

 - RANDOM()は、SQLの埋め込み関数で、呼び出されるたびにランダムな値を返す。

 - Railsでは、order("RANDOM()")を使う。

 

3. orderメソッドとRANDOM()

 - orderメソッドは、ActiveRecordで変換されるレコードの順番を付ける時に使われる。

例)User.order("RANDOM()")

  - 全てのUserをrandomな順番に変換する。

 

4. order("RANDOM()")例題

User.order(:name)

 - Userのnameフィールドを基準で昇順(asc (ascending) )で並べる。

 

User.order("RANDOM()")

 - RANDOM() functionを使いrandomに並べる。

 

User.order("RANDOM()").limit(5)

 - 特定のrandomレコードを選択 order("RANDOM()")と limitメソッドを使って特定の個数のレコードをレンダムに並べる。

 

User.where("age > 30 ").order("RANDOM()").first

 - 特定の条件に当てはまるレコードの中でレンダムに選択する。

 

excluded_word = Voca.first
Voca.where.not(id: excluded_word.id).order("RANDOM()").limit(2)

 - 特定の単語を除いてランタムに並べる。

728x90
반응형
LIST