本文整理汇总了PHP中Magento\Framework\DB\Select::reset方法的典型用法代码示例。如果您正苦于以下问题:PHP Select::reset方法的具体用法?PHP Select::reset怎么用?PHP Select::reset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\DB\Select
的用法示例。
在下文中一共展示了Select::reset方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: reset
/**
* Resets select object
*
* @param null $part
* @return $this
*/
public function reset($part = null)
{
if ($part === self::COLUMNS || $part === null) {
$this->outfile = false;
}
return parent::reset($part);
}
示例2: getProductCountSelect
/**
* Retrieve product count select for categories
*
* @return \Magento\Framework\DB\Select
*/
public function getProductCountSelect()
{
if ($this->_productCountSelect === null) {
$this->_productCountSelect = clone $this->getSelect();
$this->_productCountSelect->reset(\Magento\Framework\DB\Select::COLUMNS)->reset(\Magento\Framework\DB\Select::GROUP)->reset(\Magento\Framework\DB\Select::ORDER)->distinct(false)->join(['count_table' => $this->getTable('catalog_category_product_index')], 'count_table.product_id = e.entity_id', ['count_table.category_id', 'product_count' => new \Zend_Db_Expr('COUNT(DISTINCT count_table.product_id)')])->where('count_table.store_id = ?', $this->getStoreId())->group('count_table.category_id');
}
return $this->_productCountSelect;
}
示例3: exists
/**
* Add EXISTS clause
*
* @param Select $select
* @param string $joinCondition
* @param bool $isExists
* @return $this
*/
public function exists($select, $joinCondition, $isExists = true)
{
if ($isExists) {
$exists = 'EXISTS (%s)';
} else {
$exists = 'NOT EXISTS (%s)';
}
$select->reset(self::COLUMNS)->columns([new \Zend_Db_Expr('1')])->where($joinCondition);
$exists = sprintf($exists, $select->assemble());
$this->where($exists);
return $this;
}
示例4: _prepareHaving
/**
* Prepare and returns having array
*
* @param \Magento\Framework\DB\Select $select
* @param bool $autoReset
* @return array
* @throws \Zend_Db_Exception
*/
protected function _prepareHaving(\Magento\Framework\DB\Select $select, $autoReset = false)
{
$selectHavings = $select->getPart(\Zend_Db_Select::HAVING);
if (!$selectHavings) {
return [];
}
$havings = [];
$columns = $select->getPart(\Zend_Db_Select::COLUMNS);
foreach ($columns as $columnEntry) {
$correlationName = (string) $columnEntry[1];
$column = $columnEntry[2];
foreach ($selectHavings as $having) {
/**
* Looking for column expression in the having clause
*/
if (strpos($having, $correlationName) !== false) {
if (is_string($column)) {
/**
* Replace column expression to column alias in having clause
*/
$havings[] = str_replace($correlationName, $column, $having);
} else {
throw new \Zend_Db_Exception(sprintf("Can't prepare expression without column alias: '%s'", $correlationName));
}
}
}
}
if ($autoReset) {
$select->reset(\Zend_Db_Select::HAVING);
}
return $havings;
}