我将把类变量(如name或id)和方法(如
对于表中的属性,您不需要。加载数据库时
User
类将使用从
users
表。如果您有
id
字段,则模型实例将获得
身份证件
属性等。如果您需要表中没有的额外属性,请按常规方式添加它们。方法也是如此。
此外,用于创建新模型实例的语法更像
user = User.new name: "php", lastname: "heini"
看见
http://sequel.jeremyevans.net/rdoc/files/README_rdoc.html#label-Sequel+Models
在谈论模型时要注意“创建”一词,因为在数据库中创建记录和创建实例,但大多数人都希望“创建”指的是第一个,而不是(仅)最后一个。
new
是“create”的好同义词,因此它会导致数据库中的新记录(如果
save
否则只需使用
create
). 如果要获取实例(即记录),则在调用
新
,或检索现有记录。有很多方法可以检索记录,但是
[]
这是一个你会用到的东西。这是一个有意义的选择,因为数组和散列也使用这种语法进行记录检索。
class User < Sequel::Model
def fullname
"#{self.firstname} #{self.lastname}"
end
end
# add your first user
u1 = User.new firstname: "Bill", lastname: "Flowerpot"
u1.fullname
# => "Bill Flowerpot"
u1.save
u1.id
# => 1
# retrieve it later by index
u1 = User[1]
# Retrieve a user (that has already been added to the db)
# by some other unique value
u2 => User[firstname: "Ben"]
u2.fullname
# => "Ben Flowerpot"