Witam.
Mój problem polega na pobraniu rekordów z maksymalną liczbą relacji odnoszących się do innej tabeli. Mianowicie, chciałbym pobrać n rekordów SinglePart, które istnieją w jak największej liczbie w tabeli single_parts_products, połączoną także z tabelą products. Dodam, że każdy Product może mieć dowolną liczbę SinglePart, co umożliwia mu tabela single_parts_products. Dla single_part_products nie istnieje model, czy w takim razie jedynym sensownym wyjściem okazało się stworzenie jego? Czy da się do tego wykorzystać metodę maximum z parametrem :limit?
Model Product posiada relację:
has_and_belongs_to_many :single_parts
Model SinglePart ma relację:
has_and_belongs_to_many :products
Migracja dla SinglePart wygląda tak:
[code]create_table :single_parts do |t|
t.string :name, :limit => 100, :null => false
t.integer :lock_version, :default => 0, :null => false
end
create_table :single_parts_products, :id => false do |t|
t.integer :product_id, :null => false
t.integer :single_part_id, :null => false
t.integer :lock_version, :default => 0, :null => false
end[/code]