程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Ruby on rails開發從頭來(五十四)- ActiveRecord基礎(指定關聯關系)

Ruby on rails開發從頭來(五十四)- ActiveRecord基礎(指定關聯關系)

編輯:關於JAVA

Rails支持三種表間關聯關系,一對一,一對多,多對多,你需要在Model中加入聲明來標識這些關聯:has_one,has_many,belongs_to,has_and_belongs_to_many。

一對一關聯關系可能存在於象訂單和發票這樣的關系,一個訂單只能有一個發票,在Rails中,我們這樣指明:

class Order < ActiveRecord::Base
has_one :invoice
. . .
class Invoice < ActiveRecord::Base
belongs_to :order
. . .

訂單和條目之間的關系為一對多,我們這樣聲明:

class Order < ActiveRecord::Base
has_many :line_items
. . .
class LineItem < ActiveRecord::Base
belongs_to :order
. . .

我們也許會對商品進行分類,一種商品可能會歸入幾個商品類別下,而一個商品類別下有可能會有多種商品,商品和分類的關系就為多對多,Rails中我們這樣聲明:

class Product < ActiveRecord::Base
has_and_belongs_to_many :categories
. . .
class Category < ActiveRecord::Base
has_and_belongs_to_many :products
. . .

上面的這些標識關聯關系的定義都會添加一些方法給Model,用來在關聯的對象中進行導航,後面我們會分別對上面的三種關聯關系展開討論。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved