zend db sql与其他人一起

时间:2016-09-05 05:36:16

标签: zend-framework zend-framework2 zend-db zend-db-table

我想用一些喜欢这样的东西:

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));

2 个答案:

答案 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

返回所有学生ID和名称匹配的地方
 $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是一个随机变量,可以更改该值。我希望这有帮助,如果您需要进一步的说明,请告诉我。