0

リンクされている 2 つのリレーション テーブル "demande" と "reponse" があり、"reponse" にない "demande" のすべての行を取得したいと考えています。

私は結合でこれを試します:

$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」行を選択することはできません」。「not in」で可能だと思いますが、Zend Framework は「in」述語しか提供しません。

すべてに感謝します。

4

2 に答える 2

0

それをクエリに含めるだけではどうでしょうか。このような:

$select ->where('rep.id IS NULL');
于 2013-03-14T21:41:12.170 に答える
0

条件を使用する場合は、次のコードでisNull使用する必要がありますかPredicate。次のコードを試してください。

    $select->where(array(
        new \Zend\Db\Sql\Predicate\IsNotNull("rep.id")
            )
    );
于 2016-01-14T05:24:14.120 に答える