<?php /** * URL rewrite collection * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\UrlRewrite\Model\ResourceModel; class UrlRewriteCollection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection { /** * Store Manager Model * * @var \Magento\Store\Model\StoreManagerInterface */ protected $storeManager; /** * @param \Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory * @param \Psr\Log\LoggerInterface $logger * @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param mixed $connection * @param \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource */ public function __construct( \Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\DB\Adapter\AdapterInterface $connection = null, \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource = null ) { parent::__construct($entityFactory, $logger, $fetchStrategy, $eventManager, $connection, $resource); $this->storeManager = $storeManager; } /** * Define resource model * * @return void */ protected function _construct() { $this->_init( \Magento\UrlRewrite\Model\UrlRewrite::class, \Magento\UrlRewrite\Model\ResourceModel\UrlRewrite::class ); } /** * Filter collections by stores * * @param mixed $store * @param bool $withAdmin * @return $this * @api */ public function addStoreFilter($store, $withAdmin = true) { if (!is_array($store)) { $store = [$this->storeManager->getStore($store)->getId()]; } if ($withAdmin) { $store[] = 0; } $this->addFieldToFilter('store_id', ['in' => $store]); return $this; } }