filtración de la colección de productos en "is_salable"

Me gustaría filtrar una colección de productos para mostrar solo los artículos que están en stock. Pensé que esto sería fácil dado que hay un atributo llamado 'is_salable' que es 1 (verdadero) si está en stock, 0 (falso) si no. Pero no importa lo que haga, no funciona. Además, parece detener la ejecución de la consulta antes de que finalice.

Aquí hay un código de muestra:

$this->_productCollection = Mage::getModel('catalog/product')->getCollection();
$this->_productCollection->addAttributeToSelect('*');
$this->_productCollection->addAttributeToFilter('my_attribute', true);
//So far, so good...filtering on 'my_attribute' works!
Mage::Log("select: " . $this->_productCollection->getSelect());
//Successfully outputs the SQL query
$this->_productCollection->addFieldToFilter('is_salable', '1');
Mage::Log("select: " . $this->_productCollection->getSelect());
//does NOT output any query...it's like it died trying

Entonces, ¿qué estoy haciendo mal? He intentado 'addFieldToFilter', 'addAttributeToFilter' y otras consultas misceláneas, como:addFieldToFilter('is_salable', array('eq' => true)), etc. ...

¿Alguien sabe cómo hacer esto? Si 'is_salable' no es la respuesta, todo lo que necesito hacer es filtrar los productos que no están en stock ... así que lo que sea que funcione sería correcto:)

¡Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta