我应该在原则上为这个数据库结构创建啥样的实体

Posted

技术标签:

【中文标题】我应该在原则上为这个数据库结构创建啥样的实体【英文标题】:What kind of entities i should create in doctrine for this db structure我应该在原则上为这个数据库结构创建什么样的实体 【发布时间】:2014-03-10 05:48:22 【问题描述】:

我在 DB 中有两个表(topic、topic_content):

我应该为 symfony2 创建什么样的实体? 我想,我的 symfony 结构中应该有这样的东西(Entities/Topic.php,Entities/Topic_content.php)请帮帮我..

【问题讨论】:

【参考方案1】:

是的,您将创建主题和主题内容。也可能是一个用户实体(因为 user_id 看起来像一个外键)。

然而,Symfony2 的想法是从模型站点而不是数据库站点访问应用程序。引用https://doctrine-orm.readthedocs.org/en/latest/tutorials/getting-started-database.html:

开发工作流程

当您Code First 时,您从开发对象开始,然后将它们映射到您的数据库中。当您首先建模时,您正在使用工具(例如 UML)对应用程序进行建模,并从该模型生成数据库模式和 PHP 代码。当您拥有 Database First 时,您已经拥有了数据库架构并从中生成了相应的 PHP 代码。

首先对于数据库,有一个生成器会根据您的模式派生对象:

https://github.com/beberlei/DoctrineCodeGenerator

推荐的方法是让 Doctrine 从你的实体生成数据库模式。

引用Getting Started - Generating the DB Schema

Doctrine 有一个命令行界面,允许您访问 SchemaTool,这是一个生成所需表以处理元数据的组件。

它需要一些设置,指南中对此进行了说明。一旦你有了它,你只需告诉 Doctrine 生成或更新你的模式,只要你的对象结构发生变化。

【讨论】:

以上是关于我应该在原则上为这个数据库结构创建啥样的实体的主要内容,如果未能解决你的问题,请参考以下文章

我可以为这个大型 excel 文件数据集运行啥样的分析?

JAVA中action、command、entity、form的作用是啥对表单的整个流程是啥样的

静态 cocoa/cocoa-touch 库应该基于啥样的 SDK?

我应该使用啥样的意图来保存android设备生成的错误报告

JavaScript变量应该选择啥样的命名规则

layui在加载时,从后台返回的Json数据应该是啥样的数据