`

生成自定义主键

阅读更多
ruby 代码
  1. class Enterprise < ActiveRecord::Base   
  2. # 当创建前调用auto_id 方法:   
  3.   before_create :auto_id  # auto_id通过调用empno_next方法设置name   
  4.   def auto_id   
  5.     self.name = empno_next   
  6.   end  
  7. # 通过重数据库中读出最大的ID      
  8. #  但是如果是复合ID?下次解决。。(思路。。增加字段)   
  9. def empno_next   
  10.      num = ActiveRecord::Base.connection.select_value('select max(name)+1 from enterprises')   
  11.      if num.nil?  #  判断空情况。。初始化。。   
  12.       num = 10000   
  13.       return num   
  14.     end  
  15.        return num   
  16.   end  
  17.     
  18. end  
PS: 从开始的用一个常量MODLE来生成主ID。到从数据库方法。。要变通。。。多问,多查。。有空回过头来做从MODEL生成。。。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics