当前位置: 首页>>代码示例>>PHP>>正文


PHP SelectQuery::where方法代码示例

本文整理汇总了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);
     }
 }
开发者ID:nlescure,项目名称:ezpublish-kernel,代码行数:27,代码来源:FieldBase.php


注:本文中的eZ\Publish\Core\Persistence\Database\SelectQuery::where方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。