Zend Framework 2"选择不在"

时间:2015-09-15 11:53:45

标签: php zend-framework zend-framework2

我有这个简单的查询,其中我有一个$posts数组,其中包含某些帖子的ID。我正在选择与这些帖子相关的文件:

        ->from(
            ['DO' => 'DOCUMENT']
        )
        ->columns(
            [
                'POST_ID',
                'FILENAME'
            ]
        )
        ->where('DO.FILENAME LIKE "%'.$format.'%"')
        ->where(['DO.POST_ID' => $posts])
        ->order('DO.FILENAME DESC');

现在我想选择与这些帖子无关的文件。所以我需要做与此相反的事情:

        ->where(['DO.POST_ID' => $posts])

我无法弄清楚怎么办?

1 个答案:

答案 0 :(得分:1)

您需要使用NOT IN操作

   ->from(
            ['DO' => 'DOCUMENT']
        )
        ->columns(
            [
                'POST_ID',
                'FILENAME'
            ]
        )
        ->where('DO.FILENAME LIKE "%'.$format.'%"')
        ->where->addPredicate(new Zend\Db\Sql\Predicate\Expression('DO.POST_ID NOT IN (?)', array($posts)))
        ->order('DO.FILENAME DESC');