Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
带DBAL的Symfony2实体(无ORM)_Symfony_Orm_Doctrine Orm_Dbal - Fatal编程技术网

带DBAL的Symfony2实体(无ORM)

带DBAL的Symfony2实体(无ORM),symfony,orm,doctrine-orm,dbal,Symfony,Orm,Doctrine Orm,Dbal,我正在从事一个SF2项目,在这个项目中,我不能使用Doctrine2作为ORM,这意味着我已经有了一个包含表和数据的数据库。我必须在我的控制器中使用纯SQL(我目前正在使用DBAL来实现这一点),并且我必须创建对象来表示事物 当我使用Doctrine2时,我通过应用程序/控制台原则创建实体:generate:Entity,Doctrine2处理全部内容(更新、持久化…) 但现在,当我使用DBAL时,如何创建对象(即使不使用ORM,我也可以称之为实体?)以满足我的需要 我计划像往常一样:在我的包中

我正在从事一个SF2项目,在这个项目中,我不能使用Doctrine2作为ORM,这意味着我已经有了一个包含表和数据的数据库。我必须在我的控制器中使用纯SQL(我目前正在使用DBAL来实现这一点),并且我必须创建对象来表示事物

当我使用Doctrine2时,我通过应用程序/控制台原则创建实体:generate:Entity,Doctrine2处理全部内容(更新、持久化…)

但现在,当我使用DBAL时,如何创建对象(即使不使用ORM,我也可以称之为实体?)以满足我的需要

我计划像往常一样:在我的包中创建一个实体文件夹,将实体作为对象,而不使用ORM注释,并创建一个方法,在该方法中,我使用SQL(数组中查询的结果)从数据库检索数据,并使用对象中的getter/setter将其水合

这是个好主意还是你有更好的解决方案?我从SF2开始,我读到一些人创建一个服务来检索数据,然后使用数据转换器将数据转换成对象


多谢各位

您正在描述活动记录模式。为此,您可以使用与Symfony进行本机集成的spreep。请在网上阅读


我还建议您使用ORM。您可以根据需要设置与现有表的映射:若在实体中不需要某些字段,甚至可以省略它们。ORM将为您完成所有艰苦的工作。

您仍然可以使用ORM,而无需通过从数据库创建类来更改数据库。您应该阅读

您好,谢谢您的回复,但是我不能使用Doctrine,因为它将从我的实体生成表,我必须保留数据库结构,因为如果您不要求,它将不会生成表!