本文整理汇总了PHP中Zend\Db\Sql\Where::orPredicate方法的典型用法代码示例。如果您正苦于以下问题:PHP Where::orPredicate方法的具体用法?PHP Where::orPredicate怎么用?PHP Where::orPredicate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Db\Sql\Where
的用法示例。
在下文中一共展示了Where::orPredicate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPredicate
public function getPredicate($degreesOfKinship = self::SIBLINGS)
{
$siblingCondition = new Where();
$personaId = $this->personaId;
$fatherId = $this->fatherId;
$motherId = $this->motherId;
if ($this->isFlagSet($degreesOfKinship, self::BROTHER)) {
$where = (new Where())->equalTo('father_id', $fatherId)->equalTo('mother_id', $motherId)->equalTo('gender', self::GENDER_MALE)->notEqualTo('id', $personaId);
$siblingCondition->orPredicate($where);
}
if ($this->isFlagSet($degreesOfKinship, self::SISTER)) {
$where = (new Where())->equalTo('father_id', $fatherId)->equalTo('mother_id', $motherId)->equalTo('gender', self::GENDER_FEMALE)->notEqualTo('id', $personaId);
$siblingCondition->orPredicate($where);
}
if ($this->isFlagSet($degreesOfKinship, self::HALF_BROTHER_PATERNAL)) {
$where = (new Where())->equalTo('father_id', $fatherId)->equalTo('gender', self::GENDER_MALE)->notEqualTo('id', $personaId);
$where->andPredicate((new Where())->notEqualTo('mother_id', $motherId)->orPredicate((new Where())->isNull('mother_id')));
$siblingCondition->orPredicate($where);
}
if ($this->isFlagSet($degreesOfKinship, self::HALF_BROTHER_MATERNAL)) {
$where = (new Where())->equalTo('mother_id', $motherId)->equalTo('gender', self::GENDER_MALE)->notEqualTo('id', $personaId);
$where->andPredicate((new Where())->notEqualTo('father_id', $fatherId)->orPredicate((new Where())->isNull('father_id')));
$siblingCondition->orPredicate($where);
}
if ($this->isFlagSet($degreesOfKinship, self::HALF_SISTER_PATERNAL)) {
$where = (new Where())->equalTo('father_id', $fatherId)->equalTo('gender', self::GENDER_FEMALE)->notEqualTo('id', $personaId);
$where->andPredicate((new Where())->notEqualTo('mother_id', $motherId)->orPredicate((new Where())->isNull('mother_id')));
$siblingCondition->orPredicate($where);
}
if ($this->isFlagSet($degreesOfKinship, self::HALF_SISTER_MATERNAL)) {
$where = (new Where())->equalTo('mother_id', $motherId)->equalTo('gender', self::GENDER_FEMALE)->notEqualTo('id', $personaId);
$where->andPredicate((new Where())->notEqualTo('father_id', $fatherId)->orPredicate((new Where())->isNull('father_id')));
$siblingCondition->orPredicate($where);
}
return $siblingCondition;
}
示例2: fetchAll
/**
* Fetch all or a subset of resources
*
* @param array $params
* @return ApiProblem|mixed
*/
public function fetchAll($params = array())
{
$where = new Where();
if (isset($params['nome']) && $params['nome'] != '') {
$likeSpec = new Where();
$likeSpec->like('nome', '%' . $params['nome'] . '%');
$where->addPredicate($likeSpec);
$likeSpec = new Where();
$likeSpec->like('sobrenome', '%' . $params['nome'] . '%');
$where->orPredicate($likeSpec);
}
$sort = null;
if (in_array($params['sort'], array_keys((new ClienteEntity())->getArrayCopy()))) {
$sort = $params['sort'];
}
$dbTableGatewayAdapter = new DbTableGateway($this->tableGateway, $where, $sort);
return new ClienteCollection($dbTableGatewayAdapter);
}