本文整理匯總了PHP中Criterion::setSelfMatchOperator方法的典型用法代碼示例。如果您正苦於以下問題:PHP Criterion::setSelfMatchOperator方法的具體用法?PHP Criterion::setSelfMatchOperator怎麽用?PHP Criterion::setSelfMatchOperator使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Criterion
的用法示例。
在下文中一共展示了Criterion::setSelfMatchOperator方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: addOr
public function addOr(Criterion $criterion)
{
$currentField = $this->getTable() . '.' . $this->getColumn();
$addedField = $this->getTable() . '.' . $this->getColumn();
KalturaLog::debug("Add OR criterion field [{$addedField}] to current field [{$currentField}]");
// Validate that the added criterion and the current criterios are both attributes or both matches
if ($this->criteria->hasSphinxFieldName($addedField)) {
$currentSphinxField = $this->criteria->getSphinxFieldName($currentField);
$addedSphinxField = $this->criteria->getSphinxFieldName($addedField);
if ($currentSphinxField != $addedSphinxField) {
KalturaLog::debug("Current sphinx field [{$currentSphinxField}] and added sphinx field [{$addedField}]");
$currentType = $this->criteria->getSphinxFieldType($currentSphinxField);
$addedType = $this->criteria->getSphinxFieldType($addedField);
if ($currentType != $addedType) {
KalturaLog::debug("Current type [{$currentType}] and added type [{$addedType}]");
if ($currentType == IIndexable::FIELD_TYPE_STRING || $addedType == IIndexable::FIELD_TYPE_STRING) {
throw new kCoreException("Cannot mix OR operator on attributes and matches", kCoreException::INVALID_QUERY);
}
}
}
}
if ($criterion instanceof SphinxCriterion) {
$criterion->setSelfMatchOperator(self::SPHINX_OR);
}
return parent::addOr($criterion);
}