Ok, donc, voici une relation amusante. Les relations sont quelque chose comme:Retourne la relation ActiveRecord à partir de la requête WHERE NOT EXISTS
A Client
has_many
state_changes
, et un StateChange
belongs_to
un Client
.
J'ai cette requête: Client.find_by_sql('SELECT * FROM clients cs WHERE NOT EXISTS (SELECT * FROM state_changes WHERE state_changes.client_id = cs.id AND current = true)')
Le problème est que cela retourne un objet Array
et non un ActiveRecord Relation
. Je dois exécuter une mise à jour sur le state_changes
qui appartiennent au clients
retourné à partir de cette requête. Il y a donc essentiellement deux problèmes: obtenir les résultats en tant que relation ActiveRecord, puis obtenir tous leurs state_changes
, également en tant que relation ActiveRecord, afin de pouvoir exécuter la mise à jour.
Je comprends aussi que cela pourrait être une façon alambiquée de s'y prendre ...
avez-vous réussi? –
Yup J'ai basé ma solution hors de ces étendues et il a fait comme demandé :) merci –
Ok, bon à savoir :) –