Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL模式EAV一列用于不同的值或多列_Php_Mysql_Laravel_Entity Attribute Value - Fatal编程技术网

Php MySQL模式EAV一列用于不同的值或多列

Php MySQL模式EAV一列用于不同的值或多列,php,mysql,laravel,entity-attribute-value,Php,Mysql,Laravel,Entity Attribute Value,我在Laravel6框架上运行一个MySQL 8和PHP7.2项目 我的EAV情况如下: 页面表格: id | project_id | page 1 | 1 | about-us 2 | 1 | home 3 | 2 | home id | page_id | attribute | type 1 | 1 | speed | float 2 | 1 | title | text id |

我在Laravel6框架上运行一个MySQL 8和PHP7.2项目

我的EAV情况如下:

页面表格:

id | project_id | page
1  |    1       | about-us
2  |    1       | home
3  |    2       | home
id | page_id | attribute | type
1  |   1     | speed     | float
2  |   1     | title     | text
id | page_attribute_id | value
1  |        1          |   5.22
2  |        2          |   page title is this
页面属性表格:

id | project_id | page
1  |    1       | about-us
2  |    1       | home
3  |    2       | home
id | page_id | attribute | type
1  |   1     | speed     | float
2  |   1     | title     | text
id | page_attribute_id | value
1  |        1          |   5.22
2  |        2          |   page title is this
属性值表格:

id | project_id | page
1  |    1       | about-us
2  |    1       | home
3  |    2       | home
id | page_id | attribute | type
1  |   1     | speed     | float
2  |   1     | title     | text
id | page_attribute_id | value
1  |        1          |   5.22
2  |        2          |   page title is this
现在我的问题是,在属性值表中,最好像我一样只为浮点和文本类型设置一列,或者设置两个单独的列,一个为值文本,另一个为值浮点

如果我有更多的类型,比如int,boolean,。。。那么呢?哪条路比较好

更新:

@草莓提到了一种我没有考虑过的方法,即对于每种数据类型最好有多个表 现在是这样的:

  • 所有数据类型都有一列
  • 每个数据类型有多个列
  • 每个数据类型有多个表

注意:我正在处理大约5000万条记录

后两个表中的id列是否意味着不唯一?@AlexHarris它们是唯一的?这只是一个输入错误。如果使用EAV,我喜欢为不同的数据类型创建单独的表。速度更快吗?你以前试过这个吗?很抱歉问这个问题,我必须确定@strawberry我想你可以自己测试一下,但是如果可能的话,保存数据类型似乎是个好主意。