Magento 2 - 在模型中设置集合限制

时间:2016-01-13 10:52:51

标签: magento collections magento2

我创建了一个模型文件,我希望在我内部使用一种方法来返回有限制的产品。

在我的模特下面:

    <?php

namespace Test\Ice\Model;

class Data extends \Magento\Framework\App\Helper\AbstractHelper {

/**
 * System configuration values
 *
 * @var array
 */
protected $_config;

/**
 * Store manager interface
 *
 */
protected $_storeManager;

/**
 * Product interface
 *
 */
protected $_product;

/**
 * Initialize
 *
 * @param Magento\Framework\App\Helper\Context $context
 * @param Magento\Catalog\Model\ProductFactory $productFactory
 * @param Magento\Store\Model\StoreManagerInterface $storeManager
 * @param Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
 * @param array $data
 */
public function __construct(
    \Magento\Framework\App\Helper\Context $context, 
    \Magento\Catalog\Model\ResourceModel\Product\Collection $collection, 
    \Magento\Store\Model\StoreManagerInterface $storeManager, 
    \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, 
    array $data = []
) {
    $this->_product = $collection;
    $this->_storeManager = $storeManager;
    parent::__construct($context, $data);
}

public function getProducts() {

    $limit = 10;

    return $this->_product->getSelect()->limit($limit);

}

}

问题是它没有限制,但总是返回集合中的所有产品。 我哪里错了? 谢谢

1 个答案:

答案 0 :(得分:3)

使用 $this->_product->getCollection()->setPageSize(10)->setCurPag‌​e(1);