Re: [問題] 有沒有辦法把資料欄位對映到陣列?

看板Ruby作者 (好2ˇ)時間16年前 (2008/03/22 09:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《shelary (喵小咩)》之銘言: : 環境: : Ruby 1.8.6 Rails 2.0.0 : 狀況: : 有時候會遇到同類型的資料要存進 SQL 裡 : 比如一台車(一筆資料)坐四個人(四個欄位) : 就會弄成: : car.user1 : car.user2 : car.user3 : car.user4 : 雖然這樣可以用, 但總覺得很不方便 : 所以想問有沒有辦法把一個資料庫裡的有編號的欄位 : 轉成 Ruby 的陣列 : 例如在 SQL 裡是 : id INT(11) : user1 VARCHAR(200) : user2 VARCHAR(200) : user3 VARCHAR(200) : user4 VARCHAR(200) : created_at DATETIME : 用 Ruby 讀進 car 後 user 的部份可以變成陣列 : car.id : car.user[0] : car.user[1] : car.user[2] : car.user[3] : car.created_at 請用 composed_of, 可以對應欄位到你自訂的 class :) class UserArray < DelegateClass(Array) def initialize( u1, u2, u3, u4 ) super( [u1,u2,u3,u4] ) end end class Car < ActiveRecord::Base composed_of :user, :class_name => "UserArray", :mapping => [ [:user1,:u1],[:user2,:u2],[:user3,:u3],[:user4,:u4]] end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.245.191 ※ 編輯: ihower 來自: 59.115.245.191 (03/22 09:19) ※ 編輯: ihower 來自: 59.115.245.191 (03/22 09:33)
文章代碼(AID): #17v5vD7o (Ruby)
討論串 (同標題文章)
文章代碼(AID): #17v5vD7o (Ruby)