gpt4 book ai didi

php - DQL select 语句中的参数(Symfony2/Doctrine)

转载 作者:可可西里 更新时间:2023-11-01 00:21:17 24 4
gpt4 key购买 nike

我正在尝试在 DQL-s SELECT 部分中使用外部参数,但由于错误而无法正常工作。

我正在尝试:

$query = $this->getEntityManager()
->createQuery("
SELECT me.column_one, :param_doesnt_work param
FROM CompanyMyBundle:MyEntity me
WHERE me.column_one = :param_one
AND me.column_two = :param_two
")->setParameters(array(
'param_doesnt_work' => 'A static value',
'param_one' => 'some param',
'param_two' => 'another param',
));

结果我想得到两列,“column_one”的值和 Select 中参数的值(在本例中为“静态值”作为参数)。

我收到以下错误:

错误:预期的 IdentificationVariable |标量表达式 |聚合表达式 |函数声明 |部分对象表达式 | "("子选择 ")"| CaseExpression,得到':param_doesnt_work'

是否可以在那里使用参数,或者对此有完全不同的解决方案?找不到任何示例。

最佳答案

我刚遇到同样的问题。

这是我找到的解决方案:

$query = $this->getEntityManager()
->createQuery("
SELECT me.column_one, (:param_doesnt_work param)
FROM CompanyMyBundle:MyEntity me
WHERE me.column_one = :param_one
AND me.column_two = :param_two
")->setParameters(array(
'param_doesnt_work' => 'A static value',
'param_one' => 'some param',
'param_two' => 'another param',
));

您只需将参数放在括号内即可。

关于php - DQL select 语句中的参数(Symfony2/Doctrine),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22042472/

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