本文整理匯總了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);
}