gpt4 book ai didi

php - 将 MySQL 查询转换为 Symfony Doctrine

转载 作者:行者123 更新时间:2023-11-29 05:51:27 25 4
gpt4 key购买 nike

我有这个 MySQL 查询,我想将其转换为 Doctrine 理解的查询。

SELECT name from users where project = 10 and (classification = 12 
or classification is null)

所以我尝试在 Doctrine 中转换它,但它不起作用。

$query->AndWhere('users.classification = :classification');
$query->setParameter(':classification', $classification);
$query->orWhere('users.classification = :classification');
$query->setParameter(':classification', null);

我尝试使用表达式$query->expr()我没有成功

最佳答案

要将多个 where 语句分组在括号中,您可以使用 orxandx

$queryBuilder->andWhere($queryBuilder->expr()->orX(
'users.classification = :classification',
'users.classification IS NULL'
))
->setParameter(':classification', $classification);

或者用 Doctrine 表达:

$queryBuilder->andWhere($queryBuilder->expr()->orX(
$queryBuilder->expr()->eq('user.classification', ':classification'),
$queryBuilder->expr()->isNull('users.classification')
))
->setParameter(':classification', $classification);

Doctrine 文档:https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/query-builder.html#the-expr-class

关于php - 将 MySQL 查询转换为 Symfony Doctrine ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53629069/

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