Ich möchte mehrere Zeilen mit einer einzigen Abfrage des aktiven Datensatzes aktualisieren. Ich muss update_all nicht verwenden, da die Validierung übersprungen wird. Gibt es eine Möglichkeit, dies in Schienen aktiven Rekord zu tun.Massenaktualisierung in Schienen ohne Verwendung von update_all mit einer einzigen Abfrage?
Antwort
Es klingt wie Sie suchen Update records - aus der Dokumentation Mehrere Datensätze aktualisieren; verschiedene col mit unterschiedlichen Daten
Sie mögen dieses Beispiel tun können:
people = { 1 => { "first_name" => "David" }, 2 => { "first_name" => "Jeremy" } }
Person.update(people.keys, people.values)
Aber für jeden Datensatz wird es eine separate Update-Abfrage auslösen, so was ich will ist, dass es nur eine Abfrage für alle Updates ausgelöst werden soll. –
Nein, Dies wird nur eine Abfrage für alle Ihre Datensätze auslösen. 'Person.update (people.keys, people.values)' –
@RahulOjha Wenn Sie mit meinem ans zufrieden sind, dann machen Sie es richtig und stimmen Sie ab –
- 1. Reduzierung mehrerer verkettbar update_all in einer einzigen UPDATE-Anweisung ruft
- 2. in einer einzigen Abfrage
- 3. Massenaktualisierung/Erstellen in einer Anfrage
- 4. rufen Sie das Self-Objekt innerhalb update_all in Schienen
- 5. Update_all mit Objekt-Attribut
- 6. Schienen, Kontaktformular in einer einzigen Seite
- 7. Schienen - mit Enum in einer .wo Abfrage
- 8. Speichern mehrerer Zeilen in einer einzigen Abfrage
- 9. Löschen mehrerer Zeilen mit einer einzigen Abfrage
- 10. Massenaktualisierung in Entity Framework Core
- 11. Massenaktualisierung mit der Methode des Modells in SQLAlchemy
- 12. Abfrage mehrerer Datenbanktabellen ohne Verwendung von JOIN?
- 13. Mehrere Zeilen mit einer einzigen Abfrage einfügen
- 14. Massenaktualisierung in SQL
- 15. , wie mehrere Benutzernamen in einer einzigen Abfrage
- 16. zwei Lambda-Ausdrücke in einer einzigen Abfrage
- 17. Prozentsatz in einer einzigen SQL-Abfrage
- 18. Django - Erhalte Fremdschlüsselobjekte in einer einzigen Abfrage?
- 19. Massenaktualisierung DynamoDB
- 20. Schienen - erkunden Daten von einer Abfrage
- 21. Fill Grid mit einer einzigen Spalte von linq Abfrage
- 22. mysql - Tabellen zusammen in einer einzigen Abfrage
- 23. Mehrere Zählungen in einer einzigen SQL-Abfrage
- 24. 2 Gruppieren nach in einer einzigen Abfrage
- 25. MYSQL unterschiedliche Bedingungen in einer einzigen Abfrage
- 26. Optimieren einer Abfrage in Schienen Modelle aktiven Datensatz Schienen
- 27. Abfrage ohne Verwendung von Querverbindungen neu schreiben
- 28. Verwendung von fehlenden und vorhandenen Filter zusammen in einer einzigen Abfrage
- 29. Aktualisieren einer Produktionsdatenbank mit SQL-Verschlüsselung - Massenaktualisierung-Verknüpfungen?
- 30. Refactoring for-Schleife Linq Abfrage in einer einzigen Abfrage
Sie können dies nicht auf einer einzigen Abfrage, weil Validierungen auf eine Instanz des Modells angewendet werden .. nicht auf die Sammlung .. Sie können Schleife durch alle Elemente und führen Sie 'update_attributes' in einem begin-Block und retten, wenn die Validierung fehlschlägt – sa77