草庐IT

doctrine

全部标签

php - Doctrine2 静静地无法插入数据

我正在使用Doctrine,它在我第一次执行persist/flush时无法INSERT数据,但第二次可以,并且第三次失败://thereisnocodeexecutedbetweenanyoftheattempts$entity=newMy\Entity();$entity->setTag('A');//justarandomfield$em->persist($entity);$em->flush();//INSERTnotperformed//ifIexithereandcheckthedatabase,noentryisadded$entity=newMy\Entity();$

php - Symfony2 : Doctrine MySql Math Functions

我尝试按年龄段统计人数。AGEBRACKET|NBR10|320|1430|12340|450|55...这是我的代码:$qb=$em->createQueryBuilder();$qb->select('FLOOR((YEAR(CURDATE())-YEAR(p.date_birth))/10)*10ASage,COUNT(p.id)');$qb->from('MyBundle:Person','p');$qb->groupBy('age');$countByAge=$qb->getQuery()->execute();我收到这个错误:[SyntaxError]line0,col7:

mysql - 如何使用 Doctrine 2 中的 QueryBuilder 使用 SELECT 子查询创建 LEFT JOIN?

我需要限制LEFTJOIN结果,所以我必须使用子查询。有人可以给我建议我如何使用Doctrine2做到这一点吗?我现在拥有的是:$qb=$this->_em->createQueryBuilder();return$qb->add('select','c,j')->add('from','JobeetBundle:Categoryc')->leftJoin('c.jobs','j','WITH','j.category=c')->add('where','j.expiresAt>?1')->add('orderBy','j.expiresAtDESC')->setParameter(1

php - 在 Symfony2 (Doctrine) 和 MySQL 中启用微秒

我有一个包含一列“日期时间”类型的实体来存储时间戳。/***@ORM\Column(type="datetime")*/protected$timestamp;我有MySQL5.5.40,我发现它不存储微秒。所以我切换到5.6.21并导入了我所有的表和数据。我试图将类型声明为*@ORM\Column(type="datetime(6)")但它给了我一个错误。所以我直接在数据库中更改了它:ALTERTABLEsymfony.hrmgmtMODIFYtimestampDATETIME(6);在我的Controller中我这样做:$dt=new\DateTime('now');$newHRE

php - 在 Symfony 中使用 Doctrine 的 DBAL 检索 bool 值

我在Symfony项目中使用DBAL来访问Mysql数据库中的数据。当查询带有bool字段(创建为tinyint)的表时,我在PHP中得到了tinyint值,但我想得到bool值。不知何故,我想获得与直接使用Doctrine相同的映射。我认为映射转换(从mysql到php)已经在DBAL中实现,但我不确定它是否应该以这种方式工作(该层映射值返回)。我试过像下面这样注册自定义映射,但没有成功:$this->conn->getDatabasePlatform()->registerDoctrineTypeMapping('tinyint','boolean');$sql="SELECTse

php - 使用 Symfony sfDoctrineGuardPlugin,我需要有用户组和一些权限设置等

这是我使用Symfony的第一个真正的项目。我需要对我的后端应用程序进行一些设置,例如权限。我知道,我必须使用sfDoctrineGuardPlugin来完成。但我不知道怎么办?我已经在symfony网站上阅读了关于sfDoctrineGuardPlugin的所有内容。但我仍然没有找到任何关于;如何实现用户组?我需要super管理员(我做到了)、主编、编辑、作者。如何设置它们之间的权限?例如,每个作者只看到自己的数据。编辑可以编辑作者写的内容...非常感谢先进... 最佳答案 sfDoctrineGuardPlugin是1.4版本,

PHP:在项目中安装 Doctrine

我目前正在尝试在自定义(自己的)项目中运行Doctrine,该项目不基于任何流行的框架。我已经能够为我当前的bootstrap.php执行以下操作;register();//registeronSPLautoloadstack但是我有一种强烈的感觉,这还远远不够,我找不到任何文档来明确说明我下一步应该做什么。运行$conn=Doctrine_Manager::connection('mysql://root:root@192.168.1.4/myTable','doctrine');将使我的PHP文件开始抛出错误(fatalerror:未找到“Doc​​trine_Manager”类)

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