Ноорог
Ruby on rails дээр энгийн болон N*M гэсэн 2table(модел)-ийн assosocation-г хэрэглэж байсан ч доорх table-уудын хоорондох холбоог яаж хийхээ мэддэггүй G ахаас асуусан амарханаар хийчихдэг юм байна. Тиймээс ноороглоод орхихоор шийдлээ.
Доор Atable болон Btable-ийн assosocation-ийг үзүүлэв
class Atable < ActiveRecord::Base
has_many :A_Btables
has_many :Btables, through: :A_Btables
end
class A_Btable < ActiveRecord::Base
belongs_to :Atable
belongs_to :Btable
end
class Btable < ActiveRecord::Base
has_many :A_Btables
has_many :Atables, through: :A_Btables
end
Доор Ctable болон Btable-ийн assosocation-ийг үзүүлэв
class Ctable < ActiveRecord::Base
has_many :C_Btables
has_many :Btables, through: :C_Btables
end
class A_Btable < ActiveRecord::Base
belongs_to :Ctable
belongs_to :Btable
end
class Btable < ActiveRecord::Base
has_many :C_Btables
has_many :Ctables, through: :C_Btables
end
Үүн дээр Atable.Ctable гэж хандахын тулд Atable-ийн модел дээрээ доорх маягаар зарлахад л хангалттай.
has_many :Ctable, :through => :Btable
Uniq өгөгдөл авахын тулд доорх маягаар бичиж өгч бас болно.
has_many :Ctable, :through => :Btable, :uniq => true
Ингээд Atable.Ctable гэж хандах боломжтой болж байна. Янзтай байгаа биз. Хэрэв өөр хэл дээр иймэрхүү олон table дамжсан өгөгдөл select хийх программ бичвэл жаахан урт зүйл болж магадгүй байх. Харин ROR дээр модел хоорондын assosocation ийг зөв тодорхойлвол хялбархан хийх боломжтой.
Шүдний эмнэлэг явах цаг болчихоод маш яаруу бичлээ хаха.
Дараа ахиад сайн нягталж алдаатай зүйл байвал засна.
No comments:
Post a Comment