Magento 2: la vérification addFieldToFilter pour NULL ne fonctionne pas

10

J'essaie d'obtenir les enregistrements de la base de données qui contient une valeur parent_item_id NULL .

$order_ = $this->_objectManager->create('Vendor\Module\Model\Saleslist')
                    ->getCollection()
            ->addFieldToFilter(
                'order_id',
                $orderId
            )->addFieldToFilter(
                'parent_item_id',
                ['eq' => NULL]
            );

et souhaitez également ajouter la vérification de chaîne parent_item_idégale à NULL ou '' .

Nitin Pawar
la source

Réponses:

24

Essayez avec, array('null' => true)

 $order_ = $this->_objectManager->create('Vendor\Module\Model\Saleslist')
                        ->getCollection()
                ->addFieldToFilter(
                    'order_id',
                    $orderId
                )->addFieldToFilter(
                    'parent_item_id',
                    array('null' => true)
                );
Rakesh Jesadiya
la source
une autre question que je veux ajouter ou une clause pour leparent_item_id
Nitin Pawar
vérifier ce lien, stackoverflow.com/questions/7320690/…
Rakesh Jesadiya
Avez-vous travaillé pour vous?
Rakesh Jesadiya
Cela fonctionne
Merci
0

Il y avait un bug jusqu'à Magento 2.3, qui empêche de filtrer une collection par valeur d'attribut "null". https://github.com/magento/magento2/issues/14355

Dans mon cas, la mise à jour vers Magento 2.3 a résolu le problème.

Antoine Martin
la source