Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 使用JSON ValueObject与MySQL行_Php_Mysql_Json_Laravel_Value Objects - Fatal编程技术网

Php 使用JSON ValueObject与MySQL行

Php 使用JSON ValueObject与MySQL行,php,mysql,json,laravel,value-objects,Php,Mysql,Json,Laravel,Value Objects,嘿,伙计们,我正在为我正在开发的Laravel应用程序设计一些逻辑,这让我左右为难,我需要一些建议 我有雄辩的模型A和B,需要任意的元数据。该元数据不会经常更新,但可能会改变属性/特征,我可能希望它“可搜索”(待定)。将元数据作为一个有说服力的模型表存储为键/值行是否更好 e、 g.伪表 ----------------------- |Key|Value|Relation ID| ----------------------- ------------------ |Relation ID|

嘿,伙计们,我正在为我正在开发的Laravel应用程序设计一些逻辑,这让我左右为难,我需要一些建议

我有雄辩的模型A和B,需要任意的元数据。该元数据不会经常更新,但可能会改变属性/特征,我可能希望它“可搜索”(待定)。将元数据作为一个有说服力的模型表存储为键/值行是否更好

e、 g.伪表

-----------------------
|Key|Value|Relation ID|
-----------------------
------------------
|Relation ID|JSON|
------------------
或存储为序列化的ValueObject/JSON

e、 g.伪表

-----------------------
|Key|Value|Relation ID|
-----------------------
------------------
|Relation ID|JSON|
------------------

请注意,我将使用5.7之前的版本,因此在MySQL中使用JSON列类型是不可能的

在我看来,第一种选择对MySQL来说是最好的。您的数据将被规范化,因此更容易搜索/查询。“key”和“value”在MySQL中是保留字,应该避免使用。更好的命名和结构应该是:id、meta_键、meta_值。@DanielO。伪列可以使用缓存,因为元数据将发生更改。取决于元数据的大小和形式,即它是动态的,还是类似于共享的配置数据……我在模型中经常使用选项2,而且效果很好。如果覆盖访问器和变异器,就更容易了,而且不需要JSON列类型,我使用Aurora,它没有JSON类型,所以我只使用longText。如果你想知道更多关于我如何做的信息,请告诉我。在我看来,第一个选择对MySQL是最好的。您的数据将被规范化,因此更容易搜索/查询。“key”和“value”在MySQL中是保留字,应该避免使用。更好的命名和结构应该是:id、meta_键、meta_值。@DanielO。伪列可以使用缓存,因为元数据将发生更改。取决于元数据的大小和形式,即它是动态的,还是类似于共享的配置数据……我在模型中经常使用选项2,而且效果很好。如果覆盖访问器和变异器,就更容易了,而且不需要JSON列类型,我使用Aurora,它没有JSON类型,所以我只使用longText。如果你想知道更多关于我如何做的信息,请告诉我。