首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zend db sql where with other wheres

zend db sql where with other wheres
EN

Stack Overflow用户
提问于 2016-09-05 13:36:16
回答 2查看 68关注 0票数 1

我想用一些像这样的东西:

代码语言:javascript
复制
SELECT * FROM table WHERE NOT(other where);

其他地方是这样的

代码语言:javascript
复制
A = 1 AND B = 3

A和B的值不是静态的。如何使用zend-db获取此查询?

代码语言:javascript
复制
$where->addPredicate(new PredicateExpression('NOT (?)', (new Where())->equalTo(A = $value));
EN

回答 2

Stack Overflow用户

发布于 2016-09-07 20:29:37

这对我来说总是有效的。

$select->columns(['first_name', 'last_name']); $select->from(['U', 'USER']); $select->where->equalTo('first_name', 'Larry'); $select->where->expression("NOT(last_name) = 'Harry'", []);

票数 0
EN

Stack Overflow用户

发布于 2017-01-28 19:21:46

我真的没有完全理解你的问题,但我得到的是你想在zend-

2的查询中放一个变量在“where”中。

以此为例,此查询将返回表Students中与$id匹配的所有学生is和姓名

代码语言:javascript
复制
 $qb = $entityManager->createQueryBuilder();
                $qb->select(array(
                    'PersonalInfo.studentId as studentId',
                    'PersonalInfo.name as studentName',
           ))
                    ->from('Application\Entity\Students', 'PersonalInfo')
                    ->where('PersonalInfo.studentId = :Info')
                    ->setParameter('Info', $id);
                $student = $qb->getQuery()->getScalarResult();

正如您所看到的,在where部分,我们已经放入:

,这被称为别名,我们在setParameter中为这个别名赋值,在那里您可以看到一个变量$id。所以$id是一个随机变量,它的值是可以改变的。我希望这对你有所帮助,如果你需要进一步的指导,请让我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39324456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档