gpt4 book ai didi

sql - : operator for DQL queries

转载 作者:行者123 更新时间:2023-12-02 04:41:22 25 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 只是将 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/

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