7
votes

Ajout d'un tableau de collecte avec des valeurs uniques

J'ai donc une matrice construite par collection.

@a = Relation.where(part: "v03")

@relations = @a.collect {|x| x.car}


0 commentaires

4 Réponses :


20
votes
["f03", "f04"] | ["f01", "f03"] #=> ["f03", "f04", "f01"]

car1 = ["f03", "f04"]
car2 = ["f01", "f03"]

car1 | car2 #=> ["f03", "f04", "f01"]

2 commentaires

Merci ne réalisa pas que c'était aussi simple. Et si le premier a été stocké dans la variable Car1 et la deuxième car2. Comment feriez-vous la même chose en utilisant des variables?


Quel métier de sorcière est-ce? Où une personne trouverait une documentation à ce sujet?



2
votes

Pourquoi ne pas combiner le appelle en une? xxx

ou éventuellement xxx

le premier fait plus de travail dans Ruby, la seconde en SQL.


1 commentaires

Merci c'est une alternative solide!



3
votes
@relations  = Relation.where(part: parts).collect(&:name).uniq  

2 commentaires

@Tonyhassan, utilisez-vous des rails ou un enregistrement actif? Si oui quelle version?


@Tonyhassan Vérifiez la réponse mise à jour si vous utilisez des rails ou un enregistrement actif



3
votes

C'est la meilleure façon de faire ceci: relation.where (partie: ['v03', 'v04']). UNIQ.Pluck (: voiture)

Voici un exemple complet : xxx

Certaines pensées:

Ne mettez pas d'asperandes devant vos variables, sauf si vous voulez qu'ils soient des variables d'instance (par exemple, @ A devrait clairement être A - et même alors, un meilleur nom serait bon. Je vous en débarrasserais probablement comme indiqué ci-dessus).

Il est préférable d'utiliser la carte que la carte, car le cyclot sélectionne uniquement les données pertinentes: Sélectionnez une voiture à partir de "relations" où "relations". "Partie" = 'v04' vs Sélectionnez "Relations". * Des "relations" où "relations". "Partie" = 'v04'

Il est préférable d'utiliser .Uniq Sur l'activeCord :: relation car il déplace le caractère unique dans la base de données plutôt que d'essayer de le faire en mémoire avec RUBY: Sélectionnez une voiture distincte à partir de "relations" dans lesquelles "relations". "Partie" dans ('V03', ' v04 ')


0 commentaires