继续阅读之前
我主要在数据建模策略上寻求与实现相关的建议(虽然我最后稍微谈了一下) - 我大多知道如何做我和我#39; m描述,但我并不相信某些做这件事的方法不是傻瓜。
从广义上讲,我有一个模型(称之为Game
,因为我的实际情境非常深奥)主要具有已知结构和属性的属性。大小(title
,player_id
等)。除了一个属性game_template
,它保证模型本身,但是使用JSON的层次结构 - 但它可以是XML,无论如何。重要的是,我不需要查询game_template
; 总是总是需要全部或全部,它实际上是Game
模型的属性,除非在它的父{/ 1}实例的上下文中被操作}}。
我真的需要两种型号吗?
虽然每个游戏 - game_template关系将永远属于并且属于一个,但所有模板应该共享一些方法并且将具有共同的必需字段(即。Game
属性,其中可能有0-n params,每个都有0-n个各种类型的字段)
我不确定如何将这些内容有效地链接在Cake内。
1)使用"提取"来自一个模型对象的数据来创建另一个
将JSON作为文本包含在数据库中的列中,即。 params
。当控制器实例化games.game_template
记录时,让它通过解析原始文本(即Game
)并将结果作为array datasource传递来实例化Game Template
模型。从中建模吗?
2)将数据保存在单独的文件中并使用模型关联
将.JSON文件保存在本地某处(比如json_decode('game_template', true)
),然后将此id与父模型相对于cakephp约定(即lib/game_templates/<id>.json
game_template_id
字段关联起来?直观地说,我可以想想要采取哪种方式的原因。但是,如果这个 是适当的解决方案,我不知道CakePHP是否可以处理完全不同的数据源之间的关联,或者是否有什么超出了我&# 39;我已经描述过我需要这样做。
答案 0 :(得分:0)
您确定这是您的问题的正确论坛吗?您的问题涉及JSON,数据库列上的文本,模型的实例化,解析原始文本,传递结果,数组,存储文件的位置等。
我认为这些主题都与数据建模无关。对我来说,他们都是设计或实施相关的。
答案 1 :(得分:0)
您在此处陈述问题的方式(&#39;我应该将结构视为属性还是模型?&#39;) 似乎(对我而言)是纯数据建模问题。那么也许最好沿着这些线编辑OP,并保留标签原样?
对我来说,考虑所有与实现相关的东西被切掉的问题要容易得多。如果我不必考虑工具,编程语言,表格,列和协议,至少在开始时,我可以更好地思考关于类,属性,键和关系的问题。当然,如果您有两种模型可以准确描述客户的未来世界,那么您必须关注选择最适合您的目标实施的模型。但很难一下子想到所有事情。