Wie Suche ich nach Datensätzen in Yii mit NULL Suchkriterien
Sagen, ich habe Produkt-Modell, die Kategorie Eigentum, und ich will ziehen Sie alle Produkte wie, wo Kategorie ist null mit search () - Funktion.
$productSearch = clone Product::model();
$productSearch->Category = null;
$products = $productSearch->search()->getData();
Durch die Untersuchung der generierten SQL-sehe ich, dass es nicht funktioniert, die Kategorie ist nicht erwähnt in der Abfrage überhaupt. Was ist der beste Weg, es zu tun?
Auch so suchen Sie Datensätze, die bestimmte Eigenschaft auf NULL ODER der Bestimmte Wert
Du musst angemeldet sein, um einen Kommentar abzugeben.
1. Variante:
2. Variante (bevorzugt):
Zuweisung von null-Wert an eine Eigenschaft nicht funktioniert, wie es ist, nicht erfasst von Yii: erste Eigenschaften der Werte null ist und Yii verfolgt keine veränderten Eigenschaften (das ist ein bisschen nervig).
Arbeiten rund um hier ist es so:
Beachten Sie, dass, wenn Sie suchen möchten mehr erweiterte
Category IS NULL OR Category IN (1, 2, 3)
den erwarteten Weg, es zu tun:nicht funktionieren wie Yii blind setzt Sie alle in einer einzigen IN-Anweisung:
Umgehen, hier ist komplizierter, als es erfordert zusätzlichen code in Ihrem Modell suchen Methode: