我想用学问querybuilder重新引用本机SQL查询。
在这种情况下,我得到以下错误:
该查询将执行并返回结果(带有和不带有联接)。
但是,当我添加一个简单的WHERE
时,基本实体值为NULL
。
经过测试
-QueryBuilder(复杂:默认情况下,我需要六个联接)
-QueryBuilder(简单:无联接)
-HQL
-不同的getResult()
和execute()
通话
PHP 7.0(无法更新...)
./composer.phar info | grep doctrine
doctrine/annotations v1.4.0 Docblock Annotations Parser
doctrine/cache v1.6.2 Caching library offering an object-oriented API for many cache backends
doctrine/collections v1.4.0 Collections Abstraction library
doctrine/common v2.7.3 Common Library for Doctrine projects
doctrine/dbal v2.5.13 Database Abstraction Layer
doctrine/doctrine-bundle 1.10.3 Symfony DoctrineBundle
doctrine/doctrine-cache-bundle 1.3.5 Symfony Bundle for Doctrine Cache
doctrine/inflector v1.2.0 Common String Manipulations with regard to casing and singular/plural rules.
doctrine/instantiator 1.0.5 A small, lightweight utility to instantiate objects in PHP without invoking their cons...
doctrine/lexer 1.0.2 PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Pars...
doctrine/orm v2.5.14 Object-Relational-Mapper for PHP
已填充基本值(如id
和title
)。
$qb = $this->createQueryBuilder('artikel')
;
return $qb->getQuery()->execute();
除null
以外的基本值为id
。
$qb = $this->createQueryBuilder('artikel')
->andWhere('artikel.id = :ids')
->setParameter('ids', '1010729320')
;
return $qb->getQuery()->execute();
为什么我使用null
子句时基本值为WHERE
?
答案 0 :(得分:1)
这很容易。 ;)
id
的数据类型为integer
,给定的参数类型为string
。
因此有所不同,php不会自动广播某些内容。
删除ID之前和之后的'
。
注意:找出丢失的'
$qb = $this->createQueryBuilder('artikel')
->andWhere('artikel.id = :ids')
->setParameter('ids', 1010729320)
;
return $qb->getQuery()->execute();
对我来说,这个问题以前曾发生过,但这是另一个故事(我在上面的评论中写了几分钱)。
谢谢大家