だから私は3つのモデルを持っています。ユーザー、患者、および暦日。ユーザーと多くの患者がいて、患者は多くの暦日を持つことができます。
私がやりたいのは、1人のユーザーの患者をプルし、暦日の列で並べ替えることです。
データベース内のテーブルは通常、ActiveRecordがモデルで関連付けるために使用するIDを持つレールで行う方法で設定されます(関連付けは正しく設定されます)。
例:ユーザーbob@example.comには4人の患者(トム、ジョン、サリー、ジェーン)がいます。各患者には、今日と昨日の暦日があります(暦日は日付ごとに異なります)。
4人の患者すべてをプルして、今日のcreated_by日付で並べ替えたいと思います(日付列は実際には日時フィールドであり、実際には今日の時刻で並べ替えられています)。
@patients = user.patients.order(.join(:calendar_days).order( "date DESC"))のように一緒に何かをしようとしていますが、その高度なActiveRecordクエリを作成する方法がわかりません。
これまでにこのような複雑なクエリを設定したことはないと思います。