本文整理匯總了PHP中Magento\Framework\DB\Select::having方法的典型用法代碼示例。如果您正苦於以下問題:PHP Select::having方法的具體用法?PHP Select::having怎麽用?PHP Select::having使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Framework\DB\Select
的用法示例。
在下文中一共展示了Select::having方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: build
/**
* {@inheritdoc}
*/
public function build(ScoreBuilder $scoreBuilder, Select $select, RequestQueryInterface $query, $conditionType)
{
/** @var $query \Magento\Framework\Search\Request\Query\Match */
$fieldList = [];
foreach ($query->getMatches() as $match) {
$fieldList[] = $match['field'];
}
$resolvedFieldList = $this->resolver->resolve($fieldList);
$fieldIds = [];
$columns = [];
foreach ($resolvedFieldList as $field) {
if ($field->getType() === FieldInterface::TYPE_FULLTEXT && $field->getAttributeId()) {
$fieldIds[] = $field->getAttributeId();
}
$column = $field->getColumn();
$columns[$column] = $column;
}
$exactMatchQuery = $this->getExactMatchQuery($columns, $query->getValue());
$scoreQuery = $this->getScoreQuery($columns, $query->getValue());
$scoreBuilder->addCondition(new \Zend_Db_Expr($scoreQuery), true);
if ($query->getValue() != $this->queryHelper->singularize($query->getValue())) {
$scoreQuery = $this->getScoreQuery($columns, $this->queryHelper->singularize($query->getValue()));
$scoreBuilder->addCondition(new \Zend_Db_Expr($scoreQuery), true);
}
if ($fieldIds) {
$select->where(sprintf('search_index.attribute_id IN (%s)', implode(',', $fieldIds)));
}
$select->having(new \Zend_Db_Expr($exactMatchQuery))->group('entity_id');
return $select;
}