我们何时、为什么以及如何在 Rails 中使用 foreign_key?主键和外键有什么区别?我对rails有点新,所以详细的解释将不胜感激。谢谢你。
问问题
89 次
2 回答
1
foreign_key
当无法从关联名称中推断出外键名称时,您可以在关联中使用。例如,如果您在数据库中有users
和groups
表:
users
-id
-name
-group_id
groups
-id
-name
您可以设置User
和Group
不指定外键之间的关联:
class User < ActiveRecord::Base
belongs_to :group
end
class Group < ActiveRecord::Base
has_many :users
end
但是,如果你有,例如,groupid
而不是group_id
在users
表中,你将不得不这样做:
class User < ActiveRecord::Base
belongs_to :group, foreign_key: :groupid
end
class Group < ActiveRecord::Base
has_many :users, foreign_key: :groupid
end
于 2013-07-03T15:36:14.090 回答
1
主键和外键是数据库设计中的概念。如果您想正确理解它们,我建议您暂时离开 Rails 并查看它们,因为它们直接应用于数据库。参见例如:http ://en.wikipedia.org/wiki/Foreign_key
于 2013-07-03T15:39:09.980 回答