私のクエリにフィルタをかけるためにモデルのスコープを使用しています。私はのcompany_idに日付で比較するレールコントローラ
scope :company_id, -> (company_id) { where company_id: company_id }
に属するすべてのxの労働者をフィルタリングしています。しかし、今、私は、より複雑なクエリを作っています。このような
何か。例えば、モデル「ワーカー」があり、最新の5日間からcompany_idに割り当てられたワーカーにクエリを実行したいとします。
scope :latest, -> (created_at) { where created_at: >= Time.now - 5.day}
@company = Company.find(params[:id])
@workers = Worker.company_id(@company.id).latest(??)
の最新フィルタの構文やPARAMTER次のようになります。
は、だから私のモデルでは、私は、このフィルタースコープを作成しましたか?空のままにしておくと、構文エラーが発生します。
を行うことができますように**私は**最新の5日から 'company_id'に割り当てられている労働者を照会する - 労働者は'持った人が存在するどのような場合には123 'をcompany_idに入力して2日前に値を検索したいcompany_idに変更しましたか? – dp7
mmmまた、updated_atを確認してください。それはとにかく完璧ではありません、私はRoRを学んでいるだけでクエリを遊んでいます:) – lapinkoira