草庐IT

doctrine

全部标签

php - 如何在 Doctrine 中选择最近 2 小时的行

我正在尝试从Symfony/Doctrine单元中选择最近2小时的行。在普通的MySQL中,这将像这样完成:SELECT*FROMPostsWHERE日期>SUBDATE(CURRENT_TIMESTAMP,INTERVAL2HOUR)但是Doctrine不支持SUBDATE和INTERVAL这些MySQL关键字。在Doctrine文档中,仅给出了以天和月为间隔的替代方案。但我需要几个小时。我该怎么做? 最佳答案 使用phpDateTime对象-doctrine会为你处理这个$date=new\DateTime();$date->m

php - doctrine2 中的自定义 DQL 函数

如何在部分中使用自定义DQL函数来合成查询结果。寻找一种在createQuery或任何其他学说方式(nativeSql、QueryBuilder)中使用DQL函数的方法,它没有必要使用部分,但它应该根据表的关系来补充我的数组,它应该只选择选择性字段以下查询工作正常:$q=$em->createQuery("select"."partialt.{id,description},"."partialut.{id,firstName,lastName,email},"."DATE_FORMAT(ut.created,'%m-%d-Y')"."fromPMIUserBundle:TasktLE

php - 删除级联中的实体在多对多关系中不起作用

我有一个父实体类别和一个子实体文章。它们由ManyToMany关系定义。一篇文章可以标记在一个或多个类别中,每个类别可以标记在多篇文章中。我想做什么我希望当我删除一个类别时,该类别中标记的每篇文章也会被删除,但前提是它们没有被其他类别标记。我已经测试过的内容我测试了2个类别(id=1和id=2)和两篇文章(id=71和id=91)。第71条既有第1类,也有第2类。第91条只与第2类有联系。所以当删除类别2时,我希望删除第91条而不是第71条(因为这篇仍然与category_1链接)但是无论我怎样尝试,这一切都没有发生......在下图中,我总结了使用不同策略(1/cascade={"r

php - Doctrine ORM 2 选择负数

我在目前正在进行的Silex项目中使用DoctrineOrm。我的问题是我的账户交易实体有时在“金额”字段中有负double。这很好,实体保存。问题是当使用findOneBy时,选择查询将浮点值转换为字符串,因此找不到它。我的实体:accTransId;}/***Setamount**@paramfloat$amount**@returnAccTrans*/publicfunctionsetAmount($amount){$this->amount=$amount;return$this;}/***Getamount**@returnfloat*/publicfunctiongetAm

mysql - 用于创建自定义数据库的 Symfony 2 控制台命令

我正在开发一个Symfony2项目,其中每个用户都有自己的数据库。在我的config.yml文件中,我为客户端设置了doctrine:dbal:orm但没有连接属性,因为它们是在运行时设置的并被所有用户引用。即我只有一个默认的dbal连接和两个orm连接,并且用户数量不受限制。这工作正常,但我需要在用户注册时创建数据库和模式(FOSUserBundle)。在扩展的userbundleController中,我可以放置自己的逻辑。问题是我无法运行“phpapp/consoledoctrine:database:create”,因为没有为新用户设置参数。有没有办法为控制台命令指定自定义数据

mysql - 如何配置 doctrine (Symfony 4) 连接 MySQL 8.0?

我遇到了这个错误:PDO::__construct():Theserverrequestedauthenticationmethodunknowntotheclient[caching_sha2_password]我知道MySQL在版本8中更改了他们的身份验证方法,但我应该如何更新到最新的驱动程序并在doctrine(Symfony4)中连接它? 最佳答案 这个帖子黄皓哲的回答帮了我:phpmysqli_connect:authenticationmethodunknowntotheclient[caching_sha2_passw

php - 如何只匹配 Doctrine 中最近更新的记录?

我正在使用Symfony2和Doctrine开发一个应用程序,并且有一个名为status的表,我在其中存储位置和日期簿,例如:ID|Book|Date|Location------------------------------------------------1|Book_1|2011-08-29|Home2|Book_1|2011-08-30|Office3|Book_1|2011-09-02|Friend'sHouse4|Book_2|2011-09-02|Office5|Book_2|2011-09-04|Home具有最近日期的状态记录表示该书的当前(或最后已知的)位置。在上

mysql - Doctrine2 选择生日范围

我想选择所有在即将到来的5天过生日的员工。生日保存在日期字段中。感觉我必须使用介于两者之间,但年份范围会破坏结果。基本上我只想按月和日选择一个日期,范围是5天。数据库方案:CREATETABLEIFNOTEXISTS`tbl_office_employee`(`id`int(11)NOTNULLauto_increment,`firstname`varchar(256)collateutf8_unicode_cidefaultNULL,`surname`varchar(256)collateutf8_unicode_cidefaultNULL,`birthdate`dateNOTNUL

mysql - 如何使用 doctrine2 锁定 symfony2 中的整个表?

我需要用doctrine锁定整个表(而不是单个行),如果可能的话,我想在没有native查询的情况下执行此操作。pessimisticlocking的文档仅描述如何通过这些方法锁定特定实体:EntityManager#findEntityManager#锁查询#setLockMode我有一个事务需要插入一行,该行的值取决于表中其余行的值,因此我需要防止两个事务同时在该表上执行。我正在使用显式事务划分,它应该可以很好地与锁定一起工作(根据上面的文档)。注意:乐观锁在这种情况下不够好,我不能重试事务。此外,查询不应该很慢,因此性能不是问题。编辑:我举个例子。想象一下,您想要手动构建一个au

mysql - 在 DQL 中加入并计数

我有一个MySQL命令,但我找不到DQL中的等效命令。我正在尝试获取评论最多的帖子列表。这是MySQL命令:SELECTposts.id,COUNT(comments.id)ASnumFROMpostsLEFTJOINcommentsON(posts.id=comments.post_id)GROUPBYposts.id结果如下:idnum1829317475662077810914107在DQL中,它应该是:SELECTpost,COUNT(comment.id)ASnumFROMEntity\PostpostLEFTJOINpost.commentscommentGROUPBYpo