Magento, filtre de collection en date de la période et inclure des valeurs null

Je vais avoir un moment difficile de décantation d'une des dates de filtre sur une collection de tableaux personnalisés. Avez recherché ici et ici et quelques autres endroits, mais ne peut toujours pas obtenir ce dont j'ai besoin. Le problème est que je ne peux pas ajouter le NULL valeurs de l'ensemble de résultats.

Pour l'instant mon code actuel, après plusieurs essais et erreurs tests:

$myBannersCollection = Mage::getModel('banners/bannersadmin')->getCollection()
                   ->addfieldtofilter('banner_prod_id',$currentProdID)
                   ->addfieldtofilter('banner_start_date', 
                       array(
                         array('from' => Mage::getModel('core/date')->gmtDate()),
                                 'banner_start_date' => null))
                   ->addfieldtofilter('banner_end_date',
                       array(
                         array('gteq' => Mage::getModel('core/date')->gmtDate()),
                                 'null' => true)
                                  );
var_dump((string) $myBannersCollection->getselect());

Ce code ouputs le code sql suivant:

SELECT `main_table`.* 
  FROM `dts_banners_admin` AS `main_table` 
 WHERE (banner_prod_id = '16')
  AND (((banner_start_date >= '2012-11-28 14:39:13') OR (banner_start_date='')))
   AND (banner_end_date IS NULL)

Avoir essayé plusieurs différentes options pour ajouter le NULL état, mais aucun moyen que je peux obtenir quelque chose comme:

SELECT `main_table`.* 
  FROM `dts_banners_admin` AS `main_table` 
 WHERE (banner_prod_id = '16')
  AND (((banner_start_date>='2012-11-28 14:39:13') OR (banner_start_date IS NULL)))
   AND ((banner_end_date >= '2012-11-28 14:39:13') OR (banner_end_date IS NULL))

PS: ne Magento a BETWEEN opérateur sur le addfieldtofilter?

OriginalL'auteur Yaroslav | 2012-11-28