我有这个简单的查询,其中我有一个$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])
我无法弄清楚怎么办?
答案 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');