Ich habe ein Benutzermodell, das mit dem Profilmodell verknüpft wird, um eine Join-Tabelle zu erstellen, die alle Informationen zu jedem Modell enthält. Ich möchte eine Zeichenfolge an das Ende des Werts einer Spalte anhängen können, aber nur wenn dieses Feld vorhanden ist. Hier ist, was zur Zeit ich habeAnfügen von Zeichenfolgen an SQL-Join-Tabellen nur, wenn dieses Feld vorhanden ist
User.joins(:profile).select('users.id,
full_name AS name,
concat(profiles.address1, profiles.address2) AS address,
profiles.state,
profiles AS phone_number')
Was mir geben:
id | Name | Address | State | Phone Number
1 | Bob Smith | 123 Bakery Ln | CA | 123-456-7890
2 | Linda Joe | Apt 51 | AZ | 098-765-4321
3 | Steve Jobs | 1 Apple Drive | CA | 321-654-0987
aber feststellen, dass Linda Joes Adresse ist gerade ihre Wohnung Nummer, hier ist, wie das Objekt aussieht: (User.find(2).profile.address1 == nil && User.find(2).profile.address2 == 'Apt 51') == true
.
Ich möchte einen Weg finden, nur Adresse nur dann verketten, wenn Adresse1 vorhanden ist. Ich möchte dafür stattdessen aussehen:
id | Name | Address | State | Phone Number
1 | Bob Smith | 123 Bakery Ln | CA | 123-456-7890
2 | Linda Joe | | AZ | 098-765-4321
3 | Steve Jobs | 1 Apple Drive | CA | 321-654-0987
Jede Hilfe wird geschätzt. Vielen Dank!
Dank! Klappt wunderbar! – sclem72
@ sclem72 Sie können die Antwort immer als korrekt akzeptieren, um anderen Leuten mit dem gleichen Problem zu helfen, zu wissen, dass dies helfen kann. – MurifoX