本文整理匯總了PHP中Thelia\Model\ProductQuery::addJoinCondition方法的典型用法代碼示例。如果您正苦於以下問題:PHP ProductQuery::addJoinCondition方法的具體用法?PHP ProductQuery::addJoinCondition怎麽用?PHP ProductQuery::addJoinCondition使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Thelia\Model\ProductQuery
的用法示例。
在下文中一共展示了ProductQuery::addJoinCondition方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: 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 . ")");
}
}
}