ruby-on-rails – 如何在Rails 4中设置自定义字符串外键?
发布时间:2020-12-17 03:05:32 所属栏目:百科 来源:网络整理
导读:如何使用字符串foreign_key设置关联以正确设置has_one? class Pharmaceutic ActiveRecord::Base has_one :pharmaceutic_group,foreign_key: "code"endclass PharmaceuticGroup ActiveRecord::Base belongs_to :pharmaceutic,primary_key: 'code'end Pharmac
如何使用字符串foreign_key设置关联以正确设置has_one?
class Pharmaceutic < ActiveRecord::Base has_one :pharmaceutic_group,foreign_key: "code" end class PharmaceuticGroup < ActiveRecord::Base belongs_to :pharmaceutic,primary_key: 'code' end >> Pharmaceutic.last.pharmaceutic_group Pharmaceutic Load (0.3ms) SELECT `pharmaceutics`.* FROM `pharmaceutics` ORDER BY `pharmaceutics`.`id` DESC LIMIT 1 PharmaceuticGroup Load (0.3ms) SELECT `pharmaceutic_groups`.* FROM `pharmaceutic_groups` WHERE `pharmaceutic_groups`.`code` = 2 ORDER BY `pharmaceutic_groups`.`id` ASC LIMIT 1 => nil >> Pharmaceutic => Pharmaceutic(id: integer,package_type: integer,group_code: string) >> PharmaceuticGroup => PharmaceuticGroup(id: integer,code: string,name: string) 例如,当:Pharmaceutic有group_code:aaa和PharmaceuticGroup有代码:aaa我想得到Pharmaceutic.last.pharmaceutic_group.name => ‘AAA组名’ 解决方法
我想你应该使用Pharmaceutic belongs_to:pharmaceuticalic_group和PharmaceuticGroup has_many:pharmaceuticalics,像这样:
class Pharmaceutic < ActiveRecord::Base belongs_to :pharmaceutic_group,foreign_key: :group_code,primary_key: :code end class PharmaceuticGroup < ActiveRecord::Base has_many :pharmaceutics,primary_key: :code end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 正则表达式-字符类
- ruby-on-rails – 使用active_model_serializers序列化一组
- XML的SelectNodes使用方法以及XPath
- NandFlash驱动移植基础知识
- ruby-on-rails – Rails 4为附件上传添加file_field到现有表
- ruby – 是否可以从本地缓存捆绑/安装宝石?
- ajax – Symfony 2 – 删除表单和CSRF令牌
- fastjson parseObject java.lang.IncompatibleClassChangeE
- iphone – UIWindow的’rootViewController’出口在iOS 4.0
- react-native – React Native中的最小宽度/高度