Frage

Lassen Sie uns sagen, dass ich ein Company haben, dass viele Employees und jede Employee hat viele Companies haben.

Im Grunde muss ich:

class Employee < ActiveRecord::Base
  has_and_belongs_to_many :companies
end

und

class Company < ActiveRecord::Base
  has_and_belongs_to_many :employees
end

Aber dann bin ich verwirrt darüber, wie ich die Dinge könnten wie:

  • Alle Mitarbeiter eines Unternehmens mit dem Namen von „John“
  • Start
  • Alle Mitarbeiter eines Unternehmens, um nach Name zuerst, E-Mail Sekunde.

Gibt es eine Magie, die ich nicht kenne? Das Beispiel ist nur hier für die Demo, Annahmen zu treffen, fühlen sich frei, oder es zu ändern, wenn es hilft Ihnen, besser zu erklären.

War es hilfreich?

Lösung

Für alle Mitarbeiter mit „John“ beginnen bekommen, können Sie (natürlich gibt es viele andere Möglichkeiten, es zu tun, aber trotzdem):

some_company.employees.find(:all, :conditions => "name LIKE 'John%'")

Für die Bestellung der Mitarbeiter ist es noch schöner:

class Company < ActiveRecord::Base
  has_and_belongs_to_many :employees, :order => "name, email"
end

Es gibt eine ganze Menge mehr Sie mit Active tun können. Ich schlage vor, dass Sie versuchen, Lesen auf http://guides.rubyonrails.org/ oder beobachten http://railscasts.com/ mehr über die Schönheit von RoR lernen =)

Hoffe, es hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top