Mysql 三表协会
我有三个相互依赖的表,以便检索产品类型的正确税。下面我将详细描述这些表及其功能:Mysql 三表协会,mysql,ruby-on-rails,database,join,ruby-on-rails-5,Mysql,Ruby On Rails,Database,Join,Ruby On Rails 5,我有三个相互依赖的表,以便检索产品类型的正确税。下面我将详细描述这些表及其功能: 产品类型:确定正在销售的产品类型。它保存有关产品的信息,例如:名称、尺寸、重量、价格等 税费:确定产品将销售到的每个省份的每种产品类型的税费百分比。它有多种税种 省:确定产品销售到的省/州。它包含有关省份的信息,如首字母缩略词、名称、国家等。它还用于确定其他对象(表格)的覆盖区域以及供应商、销售人员等的位置 我的问题是:我如何在DB和RubyonRails项目中构建它,因为我想要获得的税收不仅取决于产品的类型,
- 产品类型:确定正在销售的产品类型。它保存有关产品的信息,例如:名称、尺寸、重量、价格等
- 税费:确定产品将销售到的每个省份的每种产品类型的税费百分比。它有多种税种
- 省:确定产品销售到的省/州。它包含有关省份的信息,如首字母缩略词、名称、国家等。它还用于确定其他对象(表格)的覆盖区域以及供应商、销售人员等的位置
class ProductType
has_many :taxes
end
class Tax
belongs_to :product_type
belongs_to :province
end
class Province
has_many :taxes
end
在查找特定产品类型的税款时,请执行以下操作:
ProductType.find(123).taxes.where(province: 'XYZ')
在查找特定产品类型的税款时,请执行以下操作:
ProductType.find(123).taxes.where(province: 'XYZ')
我怀疑其他人也遇到过这个难题。“他们做了什么?”草莓相信我,我已经找过了。没有发现任何我能理解的东西,也没有发现任何适用于我的特殊问题的东西。但是如果你知道,请告诉我。例如:看我的回答,似乎税收不应该对省和产品类型有太多,而应该属于它。这将在实际税率中产生冗余。。。如果您想将其规范化,您应该创建一个单独的表来存储税率,并将税务模型重命名为TaxRuleNot duplicate,其他问题适用于2个表,在巴西有一个称为“NCM”的分类(为了便于理解,我已翻译为productType)这又增加了问题的另一个层面。我怀疑其他人也面临着这个难题。“他们做了什么?”草莓相信我,我已经找过了。没有发现任何我能理解的东西,也没有发现任何适用于我的特殊问题的东西。但是如果你知道,请告诉我。例如:看我的回答,似乎税收不应该对省和产品类型有太多,而应该属于它。这将在实际税率中产生冗余。。。如果您想将其规范化,您应该创建一个单独的表来存储税率,并将税务模型重命名为TaxRuleNot duplicate,其他问题适用于2个表,在巴西有一个称为“NCM”的分类(为了便于理解,我已翻译为productType)这又增加了问题的另一个层面。这种方式是正确的。我对它做了一点修改:我将
税收
表转换为省份
和产品类型
的联接表,然后我使用在省份和产品中的多个关联来访问每个省份和产品的税收。谢谢你@bo oz。看看我的评论,你可能会受益于通过增加第三个模型税率进一步规范化,这有很多:税收。我写错了,事实上,我确实把第四个表作为前三个(“税收”)的联接表。其中一个拥有其他每个人的ID,因此我不必创建多个冗余产品、省份甚至税收。这种方法是正确的。我对它做了一点修改:我将税收
表转换为省份
和产品类型
的联接表,然后我使用在省份和产品中的多个关联来访问每个省份和产品的税收。谢谢你@bo oz。看看我的评论,你可能会受益于通过增加第三个模型税率进一步规范化,这有很多:税收。我写错了,事实上,我确实把第四个表作为前三个(“税收”)的联接表。其中一个拥有其他每个人的ID,因此我不必创建多个冗余产品、省份甚至税收。