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