Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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 CMS的自定义模型字段_Php_Mysql - Fatal编程技术网

Php CMS的自定义模型字段

Php CMS的自定义模型字段,php,mysql,Php,Mysql,我非常喜欢使用类似ORM的原则来映射我的模型。对于即将到来的项目,我需要允许用户向我的模型添加自定义字段。我想知道做这件事最好的方法是什么 在过去,我通过创建一个数据库表“custom fields”来实现这一点,该表如下所示: field_id->pk field_model->ida field_type->varchar field_name->varchar field_data->text field_validation->varchar 我的主

我非常喜欢使用类似ORM的原则来映射我的模型。对于即将到来的项目,我需要允许用户向我的模型添加自定义字段。我想知道做这件事最好的方法是什么

在过去,我通过创建一个数据库表“custom fields”来实现这一点,该表如下所示:

field_id->pk
field_model->ida
field_type->varchar
field_name->varchar
field_data->text
field_validation->varchar

我的主要问题是数据存储在“文本”字段中,数据可能小到一个整数。。。在这种情况下,使用整个文本字段似乎非常浪费

比如:

id int
model_id int
name varchar
value_type enum('boolean','integer','text','float')
num_value decimal
text_value varchar
如果您有某种类型的value_类型字段(enum只是执行此操作的一种方法),则可以将查询中的变量强制转换为模型成员。此外,您还可以利用SQL数学、排序等功能