How to get only disabled product In Controller I have getting all the products
<?php
namespace Mageplaza\HelloWorld\Controller\Index;
use Magento\Catalog\Model\Product\Attribute\Source\Status;
use Magento\Catalog\Model\ResourceModel\Product\Action;
class Index extends \Magento\Framework\App\Action\Action
{
protected $_pageFactory;
private $scopeConfig;
protected $_productCollectionFactory;
private $productAction;
public function __construct(
Action $productAction,
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
\Magento\Framework\View\Result\PageFactory $pageFactory,
\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory
){
$this->productAction = $productAction;
$this->_pageFactory = $pageFactory;
$this->scopeConfig = $scopeConfig;
$this->_productCollectionFactory = $productCollectionFactory;
return parent::__construct($context);
}
public function execute()
{
$product_ids = [];
$onlydisproduct = $this->_productCollectionFactory->create();
$onlydisproduct->addAttributeToSelect('*');
$onlydisproduct->setFlag('has_stock_status_filter', false);
foreach ($onlydisproduct as $key => $value) {
$product_ids[] = $value->getId();
}
//print_r($product_ids);
die('aaaa');
//return $this->_pageFactory->create();
}
}
Product Screenshot
I am applying $onlydisproduct->setFlag('has_stock_status_filter', false); but still getting all products.
->addAttributeToFilter('status', \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_DISABLED)