Ich muss eine Sammlung nach einem Negativ filtern FIND_IN_SET
.
Ich weiß, ich kann dies tun:
$collection->addAttributeToFilter(
'attribute_code',
[['finset' => 4], ['null' => true]]
);
Dies filtert die Sammlung nach FIND_IN_SET(...) OR value IS NULL
. Aber das FIND_IN_SET
muss negativ sein ( NOT FIND_IN_SET
). Wie kann ich das erreichen?
Muss ich dafür wirklich einen Custom erstellen Zend_Db_Expr
?
Edit: Nach der Antwort von @Marius habe ich das mit gelöst Zend_Db_Expr
. Für den Fall, dass jemand anderes auf dieses Problem stößt, habe ich es folgendermaßen gelöst:
$collection->getSelect()->where(
new \Zend_Db_Expr(
sprintf('NOT FIND_IN_SET(%1$d, at_excluded_customer_groups.value) OR at_excluded_customer_groups.value IS NULL',
$customerGroupId
)
)
);
Meine Situation bestand darin, nach Kundengruppen-ID oder NULL zu filtern.