본문 바로가기
MySql

MySQL Rails는 무작위 레코드를 선택합니다.

by 베이스 공부 2020. 11. 8.
반응형

여기에서 잘못된 위치를 찾고 있는지 또는 무엇을 찾고 있는지는 모르겠지만 활성 레코드에는 임의의 개체를 검색하는 방법이 있습니까?

뭔가요?

@user = User.random

아니면 ... 글쎄요 그 방법이 존재하지 않기 때문에 이것을하는 놀라운 "Rails Way"가 있기 때문에, 저는 항상 장황한 것 같습니다. mysql도 사용하고 있습니다.

 

해결 방법

 

Rails 4에서는 ActiveRecord :: Relation 을 확장합니다.

class ActiveRecord::Relation
  def random
    offset(rand(count))
  end
end

이렇게하면 범위를 사용할 수 있습니다.

SomeModel.all.random.first # Return one random record
SomeModel.some_scope.another_scope.random.first

 

참조 페이지 https://stackoverflow.com/questions/3641057

 

 

반응형

댓글