Zf2 NICHT IM Ausdruck in Where-Klausel

Ich versuche zu bekommen Ergebnisse aus einer Tabelle, die nicht bereits auf einem anderen Tisch.
Dafür bin ich mit einer Unterabfrage und ein NICHT IN Ausdruck in die where-Klausel. Die normale sql, die funktioniert sieht so aus:

SELECT `products`.* FROM `products` WHERE `products`.`pro_id` **NOT IN** (
SELECT `product_collection`.`pro_id` AS `pro_id` FROM `product_collection` WHERE `coll_id` = '6' ) AND products.pro_id IN (55,56,57,62)

Bin ich mit dem zf2 für das Projekt. Das problem ist, ich weiß nicht, wie zu verwenden NICHT IN Ausdruck in der where-Klausel. Wir können denen->in() für den Ausdruck in die Where-Klausel. für zB.

//$productIds is an array
//$collectionId is an id

$subSelect = $this->getRawSql()->select('product_collection');
$subSelect -> columns(array('pro_id'));
$subSelect -> where(array('coll_id'=>$collectionId));

$select = $this->getRawSql()->select('products');
$select -> **where->in**('products.pro_id', $subSelect)
        -> where->in('products.pro_id',$productIds);

aber ich habe keine Ahnung, wie zu verwenden NICHT IM Ausdruck.

InformationsquelleAutor Laxman | 2013-09-07
Schreibe einen Kommentar