我很难为 ZF2 创建参数数组,我可以在其中执行 where/或
我知道 orwhere 从 ZF2 开始被删除,但有一些解决方法我无法工作:
use ZendDbSqlPredicate;
$params = array(
'select' => implode(', ', array(
'`user`.`id`',
'`user`.`username`',
'`user`.`firstname`',
'`user`.`middlename`',
'`user`.`lastname`',
'`user`.`externalEmail`',
'`user`.`email`',
)),
"where" => implode(
new PredicatePredicateSet(
array(
new PredicateLike( '`user`.`email` = :email'),
new PredicateLike( '`user`.`email2` = :email'),
),
PredicatePredicateSet::COMBINED_BY_OR
)
), ...
我以为这是要做的方法,但似乎不是。
可以使用 NEST
特殊属性执行复杂的查询:
use ZendDbSqlWhere;
use ZendDbSqlSelect;
$select = new Select();
$select->from('user');
$where = new Where();
$where->NEST
->equalTo('email', $email)
->OR
->equalTo('email2', $email)
->UNNEST;
$select->where($where);