gpt4 book ai didi

php - 当我使用 WHERE 子句时,我的基本实体值为 NULL

转载 作者:搜寻专家 更新时间:2023-10-31 21:19:31 25 4
gpt4 key购买 nike

我想使用 doctrine querybuilder 重新编写原生 SQL 查询。在这种情况下,我收到以下错误:查询执行并返回结果(有和没有连接)。但是当我添加一个简单的 WHERE 时,基本实体值是 NULL

测试
- QueryBuilder(复杂:默认情况下我需要六个连接)
- QueryBuilder(简单:无连接)
- 优质语言
- 不同的 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

一些代码

填充了基本值(如 idtitle)。

$qb = $this->createQueryBuilder('artikel')
;
return $qb->getQuery()->execute();

id外基本值为null

$qb = $this->createQueryBuilder('artikel')
->andWhere('artikel.id = :ids')
->setParameter('ids', '1010729320')
;
return $qb->getQuery()->execute();

为什么使用WHERE子句时基本值null

最佳答案

这很容易。 ;)

问题是

id 的数据类型是 integer 并且给定的参数的类型是 string
所以它有所不同,php 不会自动转换某些东西。

解决方案

去掉id前后的'

正确的代码

注意:找到丢失的'

$qb = $this->createQueryBuilder('artikel')
->andWhere('artikel.id = :ids')
->setParameter('ids', 1010729320)
;
return $qb->getQuery()->execute();

对我来说,问题发生在以前,但这是另一回事(我在上面的评论中写了一些美分)。

谢谢大家

关于php - 当我使用 WHERE 子句时,我的基本实体值为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56767962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com