sql >> Databasteknik >  >> RDS >> Mysql

Hur konverterar jag SQL-fråga till Rails Active Record Query?

För räls 3, prova detta:

Training.select("trainings.id, trainings.name, trainings.order, 
                 trainings.id AS history_id, training_histories.finished_at,
                 training_histories.score").
         joins("LEFT OUTER JOIN training_histories 
                ON training_histories.training_id = trainings.id 
                AND training_histories.id = (SELECT th1.id FROM training_histories th1          
                                             WHERE th1.training_id = tc.id
                                             AND th1.finished_at IS NOT NULL
                                             ORDER BY th1.finished_at DESC LIMIT 1)").
         where("trainings.id > 4 AND trainings.id < 8").
         group("trainings.id").
         order("trainings.order_by ASC, trainings.id ASC")

I grund och botten konverterar du bara din förskrivna fråga till Rails 3-sökmetoder.




  1. Laravel 5.6 med Count and where statement

  2. Slå samman två tabeller i en SQL-fråga och gör datumvärdena unika

  3. utföra ett cronjob exakt en gång

  4. Får fel:Det går inte att ansluta till någon av de angivna MySQL-värdarna. I en applikation som inte använder MySQL