本文整理匯總了PHP中eZ\Publish\Core\Persistence\Database\SelectQuery::where方法的典型用法代碼示例。如果您正苦於以下問題:PHP SelectQuery::where方法的具體用法?PHP SelectQuery::where怎麽用?PHP SelectQuery::where使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類eZ\Publish\Core\Persistence\Database\SelectQuery
的用法示例。
在下文中一共展示了SelectQuery::where方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: addFieldFiltersConditions
/**
* Adds field filters condition to the WHERE clause of the given $query.
*
* Conditions are combined with existing ones using logical AND operator.
*
* @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query
* @param array $fieldFilters
*/
protected function addFieldFiltersConditions(SelectQuery $query, array $fieldFilters)
{
$languageMask = $this->getFieldFiltersLanguageMask($fieldFilters);
// Only apply if languages are defined in $fieldFilters;
// 'useAlwaysAvailable' does not make sense on its own
if ($languageMask === null) {
return;
}
// Condition for the language part of $fieldFilters
$languageMaskExpression = $query->expr->gt($query->expr->bitAnd($this->dbHandler->quoteColumn("language_id", "ezcontentobject_attribute"), $query->bindValue($languageMask, null, \PDO::PARAM_INT)), $query->bindValue(0, null, \PDO::PARAM_INT));
// If 'useAlwaysAvailable' is set to true, additionally factor in condition for the
// Content's main language that is marked as always available
if (!isset($fieldFilters["useAlwaysAvailable"]) || $fieldFilters["useAlwaysAvailable"] === true) {
$query->where($query->expr->lOr($languageMaskExpression, $query->expr->lAnd($query->expr->gt($query->expr->bitAnd($this->dbHandler->quoteColumn("language_id", "ezcontentobject_attribute"), $this->dbHandler->quoteColumn("initial_language_id", "ezcontentobject")), $query->bindValue(0, null, \PDO::PARAM_INT)), $query->expr->gt($query->expr->bitAnd($this->dbHandler->quoteColumn("language_id", "ezcontentobject_attribute"), $query->bindValue(1, null, \PDO::PARAM_INT)), $query->bindValue(0, null, \PDO::PARAM_INT)))));
} else {
// Matching on a given list of languages
$query->where($languageMaskExpression);
}
}