0%

Ruby on Rails 網站開發 練習 - ActiveRecord - 資料表關連 part 3 (關聯性)(一對多)

ActiveRecord - 資料表關連 part 3 (關聯性)(一對多)

has_many:through





所以我們需要一個第三方的資料表儲存資料
首先打開終端機建立一個新的Model Warehouse


打開VScode 可以看到warehouse屬於store也屬於products。

此時打開 product.rb 增加一行 has_many :warehouses

另外 store.rb 也要做一樣的步驟

回到 product.rb 要再多增加一行

表示我有哪些商品要鋪貨到那些商店,都透過warehouses來拿到相關的資料。
所以 store.rb 也要相同寫法

表示store.rb 本身不會知道我有哪些商品
必須透過warehouses才能知道相關資訊。
接著打開rails console,輸入s1,s2看看

此時也可以看看資料庫裡面是否有商品Product.all

確認目前都是沒有商品的,那就來建立商品吧!

接著我們在第一間店上架3個商品

輸入 s1 = products.count 可以看到目前第一間店有的商品數量

依此類推第二間店。
也可以用商品的角度來查詢有在那些店上架


除了剛剛的寫法以外還有另外一種早期使用的多對多寫法(HABTM)



答案:
沒有一定的寫法,只要自己喜歡的方式就好。

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)