草庐IT

Doctrine_RawSql

全部标签

php - Doctrine 2.0/一对多 : Many-To-One

我尝试在Doctrine2.0中设置一对多/多对一实体关联。因为我需要关联表user_message中的一个字段“读取”,所以我有3个实体。用户.phpnamespaceConsole\Entity;useDoctrine\Common\Collections\ArrayCollection;/***@Entity(repositoryClass="Console\Repository\User")*@Table(name="user")*/classUser{/***@Id*@GeneratedValue*@Column(type="integer")*/protected$id;/

php - Symfony2 Doctrine Querybuilder 全选

我目前正在SF2中开发一项服务,该服务使用QueryBuilder查询数据库,在该服务的构造函数中使用类变量集和特定于存储库的QueryBuilder。这意味着我想尽可能多地使用这个集合QueryBuilder来获得更整洁的代码和使用它的干净感觉。我想避免在EntityManager上创建查询,而是仅使用这个预定义的Querybuilder进行查询。我正在寻找看起来/像下面这样工作的东西:$query=$this->fooRepository->createQueryBuilder('f')->select('*');return$query->getResult(Query::HYD

php - symfony Doctrine 类型日期时间预期格式 y-m-d h :i:s

当我尝试使用doctrine从数据库中选择一些项目时,我在symfony中遇到了问题。我运行这个:$allOrders=$em->getRepository('MyBundle:Dieta')->findBy(array('diet_status'=>'active'));var_dump($allOrders);我收到以下错误:Couldnotconvertdatabasevalue"2014-03-03"toDoctrineTypedatetime.Expectedformat:Y-m-dH:i:s当我在数据库中插入日期时,我会这样做:$format='d/m/Y';$date=\

php - 交响乐 2 : Disable Doctrine event listener in ContainerAwareCommand

我正在使用在配置文件中注册的几个Doctrine监听器来进行一些自动更新(created_on、updated_on时间戳等)。目前我已经实现了额外的功能,需要在数据库中存储准备好的值以便于搜索。我正在考虑更新Symfony命令来准备这些值而不是SQL更新脚本(实际上,以创建值的方式进行的任何类型的更改或更新都比只需要运行这个命令)。然而,这也会触发前面提到的EventListener。有没有办法为单个命令禁用特定的EventLister? 最佳答案 像这样的东西应该可以解决问题:$searchedListener=null;$em

php - Doctrine Query builder,计数相关的一对多行

wardrobe=newArrayCollection();}/***Getid**@returninteger*/publicfunctiongetId(){return$this->id;}/***Setname**@paramstring$name*@returnMagazine*/publicfunctionsetName($name){$this->name=$name;return$this;}/***Getname**@returnstring*/publicfunctiongetName(){return$this->name;}/***Setdescription**

php - 循环引用 Doctrine - Twig

我在应用程序中做用户注册,我想在注册时收到邮件通知。我为此服务创建了:app.mail_service:class:AppBundle\Mail\MailServicearguments:["@mailer","@templating"]app.listener.user:class:AppBundle\EventListener\UserSubscriberarguments:["@app.mail_service"]tags:-{name:doctrine.event_subscriber,connection:default}模板-TwigEngine邮件服务类:classMai

php - 如何在 doctrine2 查询生成器 where 语句中添加运算符

我正在尝试从一个表中进行选择,其中所选持续时间除以输入持续时间等于没有余数。$qb=$em->createQueryBuilder()->from('AcmeBlogBundle:Entry','e')->andWhere(":duration%e.duration=0")->setParameter('duration',$duration);这会返回错误:[SyntaxError]line0,col226:Error:Expected=,,>,>=,!=,got'%'这可以在纯SQL中工作。有人知道如何使用Doctrine的查询构建器来做到这一点吗? 最

php - 将 Doctrine 实体 bool 字段设置为 0 而不是 null

我试图用值为0或1的bool字段来持久化一个Doctrine实体。当属性设置为true时,它​​在数据库中将其保存为“1”。但当它为“假”或“0”时,它会将其保存为数据库中的NULL。如何解决此问题,使其仅保存为1或0?我使用的属性注释如下:@ORM\Column(name="substitute",type="boolean",nullable=true)当我将nullable设置为false时,我无法持久化它,因为它仍然想设置为null。谢谢我持久化的时候,字段值为0尝试1@ORM\Column(name="substitute",type="boolean",options={"

php - Doctrine:如何从监听器(preDqlSelect)中的选择查询中删除部分 where 子句?

我的监听器是行为的一部分,它应该删除任何调用的选择查询的where子句中的所有is_published检查。在子句中添加一个部分非常容易,但如何删除一个部分。有一些函数像Doctrine_Query->removeDqlQueryPart('where'),但这删除了完整的where子句,而我只需要'is_published=?'要删除的部分。但是我可以用正则表达式或其他东西以某种方式手动处理这个问题。但比较棘手的是,如何去掉'?'代表的参数?来自相应的参数数组(可通过Doctrine_Query->getRawParams()检索)。所以我问,有没有一种干净的方法来转换这种查询:..

php - Doctrine 获取所有具有关联的字段名称

我已经知道如何获取实体的字段名称,但如何获取所有关联的类名称?$em->getClassMetadata('Product')->getFieldNames();这仅获取类属性,但我希望在嵌套数组中获取关联名称,例如,如果我有与产品关联的客户,我也想获取所有客户类属性名称。 最佳答案 你也可以获取关联的字段名然后合并它们$properties=$em->getClassMetadata('YourBundle:Product')->getFieldNames();$output=array_merge($properties,$em