I want to show all product if it is enable or disabled doesn't matter.
with this
$collection = $this->_productCollectionFactory->create();
$collection->addAttributeToSelect('*');
return $collection;
I only get enabled product please help me with that to get disabled product also.
Found two solution on this, please try first one, if it does not work for you, then you can try 2nd one.
You can use disable stock check on your collection by this:
$productCollection = $this->_productFactory->create()->getCollection();
$productCollection->setFlag('has_stock_status_filter', false);
Or else you can use this:
$collection = $this->_productCollectionFactory->create()
->addAttributeToSelect('*')
->load();
// Patch to alter load and get disabled products too
$collection->clear();
$where = $collection->getSelect()->getPart('where');
foreach ($where as $key => $condition)
{
if(strpos($condition, 'stock_status_index.stock_status = 1') !== false){
$updatedWhere[] = 'AND (stock_status_index.stock_status IN (1,0))';
} else {
$updatedWhere[] = $condition;
}
}
$collection->getSelect()->setPart('where', $updatedWhere);
$collection->load();