我在DB中有两个表(topic,topic_content):
我应该为symfony2创建什么样的实体? 我想,我应该在我的symfony结构(Entities / Topic.php,Entities / Topic_content.php)中有这样的东西帮助我...
答案 0 :(得分:0)
是的,您可以创建主题和主题内容。也可能是用户实体(因为user_id看起来像外键)。
但是,Symfony2中的想法是从Model站点而不是数据库站点接近应用程序。引用https://doctrine-orm.readthedocs.org/en/latest/tutorials/getting-started-database.html:
开发工作流程
当您代码优先时,您首先开发对象,然后将它们映射到您的数据库。当您模型优先时,您使用工具(例如UML)为应用程序建模,并从此模型生成数据库模式和PHP代码。如果您拥有数据库优先,则您已拥有数据库架构并从中生成相应的PHP代码。
首先,对于数据库,有一个生成器将根据您的模式派生对象:
但推荐的方法是让Doctrine从您的实体生成数据库模式。
引用Getting Started - Generating the DB Schema
Doctrine有一个命令行界面,允许您访问SchemaTool,这是一个生成所需表格以处理元数据的组件。
它需要一些设置,这在指南中有说明。完成后,无论何时对象结构发生变化,都只需告诉Doctrine生成或更新模式。