So fügen Sie ein-UND filter - / - Bedingung, um eine Bedingung ODER in Magento?
Wie kann die Erreichung der folgenden Sammlung mit Filter?
SELECT * FROM products WHERE (name like '%blah%' and name like
'%yes%') or (description like '%blah%' and description like '%yes%');
Oder ist das eine schlechte Praxis aus irgendeinem Grund?
addFieldToFilter angewendet, um eine Sammlung zu tun, UND innerhalb jeder Sie erreichen kann, ODER aber diese erst ermöglicht:
(x OR y) AND (w OR z)
aber nicht
(x AND y) OR (w AND z)
Bin ich etwas fehlt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht Nein, ich glaube, du bist etwas fehlt. Ich lief in ein ähnliches Problem eine Weile zurück und verwendet
getSelect()->where()
zu umgehen.Beginnend mit der Abfrage:
Zuerst habe ich eine Auflistung erstellt und verwendet die
OR
- array-Methode auf, um die Abfrage.Dies führte zu folgender Ausgabe:
Werden Sie feststellen, dass die
WHERE
Aussage ist fast, wo du es beschrieben hast, außer dasOR
undAND
Umgekehrt.Kopierte ich die
WHERE
Teil der Abfrage und eine zusätzlichegetSelect()->where()
Linie um die Sammlung so:Die resultierende Ausgabe ist:
Den
where()
imgetSelect()
könnte gekürzt werden:Jede andere Magento Menschen gibt, fühlen Sie bitte sich frei, mich zu korrigieren, wenn ich zu weit off-base mit, oder wenn Sie einen Weg kennen um zu erreichen das gleiche Ziel ohne den Einsatz dieser Methode.
hth!