本文整理匯總了PHP中Thelia\Model\ProductQuery::where方法的典型用法代碼示例。如果您正苦於以下問題:PHP ProductQuery::where方法的具體用法?PHP ProductQuery::where怎麽用?PHP ProductQuery::where使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Thelia\Model\ProductQuery
的用法示例。
在下文中一共展示了ProductQuery::where方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: doSearch
/**
* @param ProductQuery $search
* @param $searchTerm
* @param $searchIn
* @param $searchCriteria
*/
public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria)
{
$search->_and();
foreach ($searchIn as $index => $searchInElement) {
if ($index > 0) {
$search->_or();
}
switch ($searchInElement) {
case "ref":
$search->filterByRef($searchTerm, $searchCriteria);
break;
case "title":
$search->where("CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END " . $searchCriteria . " ?", $searchTerm, \PDO::PARAM_STR);
break;
}
}
}
示例2: manageFeatureValue
/**
* @param ProductQuery $search
* @param string[] $feature_values
*/
protected function manageFeatureValue(&$search, $feature_values)
{
if (null !== $feature_values) {
foreach ($feature_values as $feature => $feature_choice) {
foreach ($feature_choice['values'] as $feature_value) {
$featureAlias = 'fv_' . $feature;
if ($feature_value != '*') {
$featureAlias .= '_' . $feature_value;
}
$search->joinFeatureProduct($featureAlias, Criteria::LEFT_JOIN)->addJoinCondition($featureAlias, "`{$featureAlias}`.FEATURE_ID = ?", $feature, null, \PDO::PARAM_INT);
if ($feature_value != '*') {
$search->addJoinCondition($featureAlias, "`{$featureAlias}`.FREE_TEXT_VALUE = ?", $feature_value, null, \PDO::PARAM_STR);
}
}
/* format for mysql */
$sqlWhereString = $feature_choice['expression'];
if ($sqlWhereString == '*') {
$sqlWhereString = 'NOT ISNULL(`fv_' . $feature . '`.ID)';
} else {
$sqlWhereString = preg_replace('#([a-zA-Z0-9_\\-]+)#', 'NOT ISNULL(`fv_' . $feature . '_' . '\\1`.ID)', $sqlWhereString);
$sqlWhereString = str_replace('&', ' AND ', $sqlWhereString);
$sqlWhereString = str_replace('|', ' OR ', $sqlWhereString);
}
$search->where("(" . $sqlWhereString . ")");
}
}
}