2016-01-18 29 views
2

我有困難創建參數數組爲ZF2在那裏我可以做一個在那裏/或如何在ZF2中或在哪裏?

我知道orWhere作爲的ZF2去除,但也有解決辦法,我不能讓工作:

use Zend\Db\Sql\Predicate; 
$params = array(
     'select' => implode(', ', array(
      '`user`.`id`', 
      '`user`.`username`', 
      '`user`.`firstname`', 
      '`user`.`middlename`', 
      '`user`.`lastname`', 
      '`user`.`externalEmail`', 
      '`user`.`email`', 

     )), 


     "where" => implode(
       new Predicate\PredicateSet(
        array(
          new Predicate\Like('`user`.`email` = :email'), 
          new Predicate\Like('`user`.`email2` = :email'), 
        ), 
        Predicate\PredicateSet::COMBINED_BY_OR 
       ) 
      ), ... 

我認爲這是待辦事項,但它似乎不是。

回答

3

可以使用NEST特殊屬性進行復雜查詢:

use \Zend\Db\Sql\Where; 
use \Zend\Db\Sql\Select; 

$select = new Select(); 
$select->from('user'); 

$where = new Where(); 
$where->NEST 
    ->equalTo('email', $email) 
    ->OR 
    ->equalTo('email2', $email) 
->UNNEST; 
$select->where($where); 
+0

謝謝,其實我不喜歡的東西一樣,今天下午,得到它固定。很高興看到你能以多種方式做到這一點。 –