Datamapper many_to_many рд╕рдВрдмрдВрдз рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдПрдХ рдмрд╛рд░, рдбрд╛рдЯрд╛рдорд╛рдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдХрдИ_рддреЛ_рдордиреА рд░рд┐рд╢реНрддреЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдХрдИ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдлрд╡рд╛рд╣ рдЙрдареА, рд▓реЗрдХрд┐рди рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдореИрдВ рдЕрдкрдиреЗ рдирд┐рд░реНрдгрдп рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред


рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ - рдЕрдиреБрдЪреНрдЫреЗрдж (рдЕрдиреБрдЪреНрдЫреЗрдж) рдФрд░ рд╢реНрд░реЗрдгреА (рд╢реНрд░реЗрдгреА)ред рдПрдХ рд▓реЗрдЦ рд╡рд┐рднрд┐рдиреНрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рдХрдИ рд▓реЗрдЦ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рддреБрд░рдВрдд рдХрдИ рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ рдмрдирд╛рдПрдБред
class Article include DataMapper::Resource property :id, Serial property :name, String has n, :categories, :through => Resource end class Category include DataMapper::Resource property :id, Serial property :name, String has n, :articles, :through => Resource end category_d = Category.new category_d.name = " " category_d.save category_f = Category.new category_f.name = "" category_f.save category_v = Category.new category_v.name = "" category_v.save category_r = Category.new category_r.name = "" category_r.save 


рд╣рдордиреЗ рдЖрд░реНрдЯрд┐рдХрд▓ "рдЬреЗрд░рд╛рд░реНрдб рдбреЗрдкрд░реНрдбрд┐рдпреВ" рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдХрдИ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдЭреВрда рдмреЛрд▓ рд╕рдХрддрд╛ рд╣реИ - "рдПрдХреНрдЯрд┐рдВрдЧ рдПрдХреНрдЯрд░реНрд╕", "рдПрдХреНрд╢рди"

 article = Article.new article.name = " " article.save category_d = Category.first(:name => " ") category_f = Category.first(:name => "") article.categories << category_d article.categories << category_f article.save 


рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рд╣рдордиреЗ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ - рд╢реНрд░реЗрдгреА "рдЕрднрд┐рдирдп рдЕрднрд┐рдиреЗрддрд╛рдУрдВ" рд╕реЗ рдЕрдиреБрдЪреНрдЫреЗрдж рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдЗрд╕реЗ рд╢реНрд░реЗрдгреА "рд╡рд┐рдЬреЗрддрд╛" рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдЗрд╕реЗ рд╢реНрд░реЗрдгреА "рд░реВрд╕рд┐рдпреЛрдВ" рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдФрд░ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрдиреЗрдХреНрд╢рди рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдирдП рдЬреЛрдбрд╝ рджреЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрд╣реБрдд рдЖрд╕рд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдПрдХ рд╕рд░рдгреА рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред
 article = Article.first(:name => " ") category_v = Category.first(:name => "") category_r = Category.first(:name => "") category_f = Category.first(:name => "") article.categories = [category_v, category_r, category_f] article.save 


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░реА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рд╡рд┐рдХрд▓реНрдк рдЖрд╕рд╛рди рдкрддрд╛ рд╣реИ - рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдмрддрд╛рдПрдВред

Source: https://habr.com/ru/post/In201906/


All Articles