我有以下2个表格:
参数表:ID, EntityType, ParamName, ParamType
实体表:ID, Type, Name, ParamID, StringValue, NumberValue, DateValue
ParamID
与Parameters.ID
Type
与参数。EntityType
StringValue
,NumberValue
,DateValue
包含基于Parameters.Type
(1,2,3)的数据查询结果应包含:
Entity.ID, Entity.Name, Parameters.ParamName1, Parameters.ParamName2... Parameters.ParamNameX
ParamNameX
的内容与上述相关性相同。如何将参数名称转换为列及其值转换为这些列的数据?我甚至不知道从哪里开始。
上述说明:例如,实体X可以是entitytype 1和entitytype 2.参数表包含类型1和2的参数名称,但我需要获取(例如)实体类型1的参数名称。
答案 0 :(得分:0)
您要归档的是EAV(实体属性值)模型。
但是你设置表的方式是错误的。
每种类型都应该有一张表。 所以entity_string,entity_number,entity_date和一个主表实体,它包含id和一些常规的东西,如create_time,update_time等。
看看magento以及他们如何设置表格。像这样,要求提供数据和组织数据要容易得多。