gpt4 book ai didi

sql - : operator for DQL queries

转载 作者:行者123 更新时间:2023-12-02 21:38:59 24 4
gpt4 key购买 nike

$em = $this->getDoctrine()->getManager();
$query = $em->createQuery(
'SELECT p
FROM AcmeStoreBundle:Product p
WHERE p.price > :price
ORDER BY p.price ASC'
)->setParameter('price', '19.99');

$products = $query->getResult();

我对冒号以及它可以在查询中使用的不同位置有点困惑。我认为 :price 只是将价格声明为局部变量,然后在运行时将其替换为 19.99。

1)上述假设正确吗?

2) 在 DQL 中是否还有其他地方可以看到“:”,这样我就不会将它与其他函数混淆。

最佳答案

1) 上述假设是否正确?

是的,:price 实际上是一个参数,用于避免像这样的丑陋代码:

"SELECT ... WHERE p.price > " . $price

相反,使用参数表示法,然后调用 setParamter() 方法:

->setParameter('price', '19.99'); << Without prefix

More info from the doc

2) 在 DQL 中是否还有其他地方可以看到“:”,这样我就不会将它与其他函数混淆。

我不知道:)

关于sql - : operator for DQL queries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20768891/

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