我想用一些喜欢这样的东西:
SELECT * FROM table WHERE NOT(other where);
其他很像
A = 1 AND B = 3
A和B的值不是静态的。如何使用zend-db来获取此查询?
$where->addPredicate(new PredicateExpression('NOT (?)', (new Where())->equalTo(A = $value));
答案 0 :(得分:0)
这对我来说总是有用。
$select->columns(['first_name', 'last_name']);
$select->from(['U', 'USER']);
$select->where->equalTo('first_name', 'Larry');
$select->where->expression("NOT(last_name) = 'Harry'", []);
答案 1 :(得分:0)
我真的没有完全得到你的问题,但我得到的是你想在zend-framework2的查询中的'where'中加一个变量。
以此为例,此查询从表Students
$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部分:info,称为别名,我们在
setParameter
中为此别名赋值,您可以在其中看到变量$id
。因此$id
是一个随机变量,可以更改该值。我希望这有帮助,如果您需要进一步的说明,请告诉我。