當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。