草庐IT

Doctrine_Record

全部标签

php - Doctrine 无关系加入

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:IsthispossibletojointablesindoctrineORMwithoutusingrelations?我有2个类(class)Month和Vegetable。他们没有任何关系。我想玩SQL:SELECT*FROM月份,蔬菜在MySQL中它工作得很好。我在Doctrine中这样尝试:$months=Doctrine_Query::create()->select('m.*,v.*')->from('monthm,vegetablev')->execute();当我尝试时,我得到:"veget

php - Symfony Doctrine 架构更新未检测到可为空日期时间的更改

当我一开始运行这个命令时,一切似乎都很好:$phpbin/consoledoctrine:schema:update--dump-sqlALTERTABLEpostsCHANGEcreatedAtcreatedAtDATETIMENOTNULL,CHANGEupdatedAtupdatedAtDATETIMEDEFAULTNULL;$phpbin/consoledoctrine:schema:update--forceUpdatingdatabaseschema...Databaseschemaupdatedsuccessfully!"1"querywasexecuted但是当我重新运

php - Symfony 和 Doctrine 使迁移无效

Doctrine在symfony中生成迁移,运行迁移后没有任何变化,所以在下一个差异期间它是相同的。如何使Doctrine不产生这种迁移?手动运行altertable命令不会删除列排序规则。bin/consoledoctrine:migration:diff向上$this->addSql('ALTERTABLEsessionCHANGEsess_idsess_idVARCHAR(128)NOTNULL');向下$this->addSql('ALTERTABLEsessionCHANGEsess_idsess_idVARCHAR(128)NOTNULLCOLLATEutf8_unicod

php - 如何使用 Symfony2、Doctrine2 执行存储过程

我正在使用以下代码:useDoctrine\ORM\Query\ResultSetMapping;............$em=$this->get('doctrine.orm.entity_manager');$rsm=newResultSetMapping();$query=$em->createNativeQuery('CALLprocedureName(:param1,:param2)',$rsm)->setParameters(array('param1'=>'foo','param2'=>'bar'));$result=$query->getResult();//$res

php - 如何从 Doctrine Fixture 引用中获取实体?

我在我的项目中添加了依赖于相互引用实体对象的数据装置。在数据夹具一中,我添加了实体引用,例如://GroupEntity_Fixtures.phpfile$this->addReference('GROUP_USER',$groupUser);$this->addReference('GROUP_ADMIN',$groupAdmin);其中$groupAdmin和$groupUser都是Group()实体。在我的第二个灯具文件中,我想通过以下方式将这些实体添加到我的用户实体://UserEntity_Fixtures.phpfile$userActive->addGroup($this

php - Doctrine 2 中的动态表/实体名称

我希望有人能阐明我的代码发生了什么。我需要一个表示通用表的实体作为具有Xid后缀的表的模型。例如,我有一个实体:CustomerX我需要查询的表有cusotmer_1、customer_2、customer_3……等。我目前正在使用:classCustomerX{/***CustomerX**@Table(name="customer_")*@Entity*///.....propertiesandsetters/getters....private$_tableName=null;publicfunctiongetTableName(){return$this->_tableName

php - 如何在 Doctrine 映射中描述多列外键

我们有一个数据库模式,以简化的(稍微做作的)形式看起来像:从用户到域的外键设置在列(domainId,groupId)上,以保证引用完整性。此结构可以很好地满足预期目的。然而,对于一个与同一个数据库对话的新应用程序,我现在需要为Doctrine创建一个映射来映射上述结构,包括两个列上的外键关系。我试过以下方法:但这给了我一个错误:UnitOfWork.php第2649行:未定义索引:groupId所以,我的问题是:在Doctrine中描述多列多对一外键关系的正确方法是什么?为了完整起见,数据库按照上述ERD中的描述为模式创建代码:CREATETABLE`users`(`userId`I

php - 如何从 doctrine/symfony 中设置 MysQL 变量(time_zone)?

我想知道如何从Symfony/Doctrine中将MySQL时区设置为UTC(SETtime_zone='UTC'),所以当我调用UNIX_TIMESTAMP()在我的查询中的DATETIME字段上运行,它返回UTCunix时间而不是服务器时区的unix时间。我该如何做到这一点,是在每次连接时自动执行,还是在时区有所不同的这些类型的查询之前手动执行?顺便说一句,我需要在MySQL查询而不是应用程序中进行这种转换,这样我就可以GROUPBY一个需要纪元时间的间隔。 最佳答案 您可以通过在ProjectConfiguration中调用的

mysql - Doctrine:特殊字符不保存到数据库字符串字段中

我正在尝试使用doctrine(在symfony2中)保存到字符串字段(mysql数据库):$blogpost->setTitle="Test!§$%&/()=?äöüÄÖÜ:D";$em=$this->getDoctrine()->getManager();$em->persist($blogpost);$em->flush();但它救了我:“测试!”(剩下的不见了)实体是:/***@ORM\Column(type="string")*/protected$Title;mysql数据库是utf8_general_ci。(当我使用phpmyadmin手动添加实体时,它工作正常。)我需要

php - Doctrine2.3 和 OneToOne 级联持久化似乎不起作用

我有两个实体(User和UserPreferences),我想单向映射OneToOne。代码看起来像这样:/***@ORM\Table("users")*@ORM\Entity*/classUser{/***@ORM\Column(name="id",type="integer")*@ORM\Id*/protected$id;.../***@ORM\Column(name="user_preferences_id",type="integer")*@ORM\OneToOne*(*targetEntity="UserPreferences",*cascade={"persist"}*)*