Tag: dql

Symfony2获取login用户的ID

我正在开发一个使用Symfony2和学说2的应用程序。我想知道如何获取当前login用户的ID。

我如何在Doctrine 2 DQL中使用now()?

$ php app / console doctrine:query:dql'SELECT now()' [Doctrine \ ORM \ Query \ QueryException] [语法错误]第0行,第7列:错误:预期的已知函数,得到'现在' 我如何设法使用Doctrine DQL的MySQL now()函数?

Symfony2和Doctrine – 错误:PathExpression无效。 必须是StateFieldPathExpression

我有一个像这样的实体: /** * @Gedmo\Tree(type="nested") * @ORM\Table(name="categories") * @ORM\Entity() */ class Category extends BaseCategory { /** * @ORM\OneToMany(targetEntity="Category", mappedBy="parent") */ protected $children; /** * @Gedmo\TreeParent * @ORM\ManyToOne(targetEntity="Category", inversedBy="children") * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL") */ protected $parent; } 我试图运行这样的查询: $qb = $this->em->createQueryBuilder() ->select('c.parent') ->from('Category', 'c'); $result = $qb->getQuery()->getArrayResult(); 但是,我收到以下错误: [Semantical Error] … Error: Invalid PathExpression. Must be […]

如何在Doctrine查询中指定空值作为filter?

我在Zend使用Doctrine 1.1。 我正在尝试编写一个查询,将返回某个列中具有空值的logging。 $q = Doctrine_Query::create() ->select('a.*') ->from('RuleSet a') ->where('a.vertical_id = ?', null); $ruleset_names_result = $q->execute(array(), Doctrine::HYDRATE_ARRAY); 我在规则集表中有vertical_id列中有一个NULL值的三个logging,但查询doest找不到这些。 感谢帮助。 希德。

如何随机select教条

这里是我如何查询我的数据库的一些单词 $query = $qb->select('w') ->from('DbEntities\Entity\Word', 'w') ->where('w.indictionary = 0 AND w.frequency > 3') ->orderBy('w.frequency', 'DESC') ->getQuery() ->setMaxResults(100); 我正在使用mysql,我想要得到符合条件的随机行,我会在我的查询中使用rand()命令。 我发现这个类似的问题基本上是由于ORDER BY RAND在原理中是不支持的,你可以把主键改为随机的。 但是,这不能在我的情况下完成,因为我有一个search条件和一个where子句,以便不是每个主键都将满足该条件。 我还发现了一个代码片断 ,build议您使用OFFSET来像这样随机化行: $userCount = Doctrine::getTable('User') ->createQuery() ->select('count(*)') ->fetchOne(array(), Doctrine::HYDRATE_NONE); $user = Doctrine::getTable('User') ->createQuery() ->limit(1) ->offset(rand(0, $userCount[0] – 1)) ->fetchOne(); 我有点困惑,这是否会帮助我解决在我的情况下是否随意支持秩序的问题。 我无法在setMaxResult之后添加偏移量。 任何想法如何可以完成?