6

私はこのようなものを持っています:

    $sql = new Sql($this->tableGateway->getAdapter());
    $select = $sql->select();

    $select
        -> from('mytable')
        -> join('exp', 'field1_id=field1.id', '*', 'LEFT');

    $where = new  Where();
    $where -> equalTo('field2_id', $field2_id);

    $select->where($where);

    $statement = $sql->prepareStatementForSqlObject($select);

しかし、「not equalTo」を使用したい場合はどうすればよいですか? どうやってするの?

4

3 に答える 3

9

notEqualTo を使用する必要があります

$where->notEqualTo('field2_id', $field2_id);

http://framework.zend.com/apidoc/2.1/classes/Zend.Db.Sql.Predicate.Predicate.html#notEqualTo

于 2013-04-13T19:04:34.843 に答える
2

これが私が使用している方法です。私たちのほとんどは、そのようなクエリ文字列を検索し、単一のクエリでそのようなクラスを持っている可能性があります。

return $details = $this->select(function(Select $select) use ($domain, $domainWithoutWWW){
            $select->columns(['dealername'=> 'dealer.name']);
            $select->join('template',"dealer.template_id = template.id", ['template_name' => 'name','template_html' => 'html','template_css' => 'css'], 'left');
            $select->where($select->where->notEqualTo('dealer.used_car_dealer_id',1826));
            $select->where(array('dealer.parent' => 0));
            $select->where(new In('domain', ['abc.com', 'xyz.com', 'lmn.com']));
        });
于 2015-12-15T10:40:19.180 に答える