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
Vous devez vous connecter pour publier un commentaire.
Obtenu! Grâce à cette DONC réponse. Nécessaire pour ajouter un autre tableau pour le
IS NULL
clause. Maintenant le code est:Et sorties ceci:
MODIFIER
Modifié le
banner_start_date
que j'ai été en utilisant de au lieu de à et de sorte que la période était mal réglé et qu'aucune donnée n'a été retourné.OriginalL'auteur Yaroslav