如何在 Zend 框架中使用连接模拟"not in"?



我有两个链接的关系表"demande"one_answers" response ",我想检索"demande"不在" response "中的所有行。

我尝试用join:

$select = new Select ();
$select->columns(array("id"));
$select->from ("demande" );
$select->where->lessThan("dateArretMarche",$stringDate );
$select->join(
    array("rep" => 'reponse'), // table name,
    'demande.id = rep.id_demande',array(),  
    $select::JOIN_RIGHT);
$select ->where->isNull("rep.id");//<== it doesn't work

但是我不能选择"null" lines"。我想这是可能的"不在",但Zend框架只提供"在"谓词。

谢谢。

如果只是在查询中包含它呢?这样的:

$select ->where('rep.id IS NULL');

如果您想使用isNull条件。所以你需要使用Predicate .试试下面的代码。

    $select->where(array(
        new ZendDbSqlPredicateIsNotNull("rep.id")
            )
    );

最新更新