Ich habe eine DB-Struktur wie folgt aus:yii2 mehrere Filter in Suchmodell
Addresses
id primary key auto_increment
name
surname
email
categories
id primary key auto_increment
name
address_category
id primary key auto_increment
addr_id
cate_id
auf der gridview, in Kategorien Filtersäule i eine select2 Verlängerung mit Mehrfachsatz auf wahr und auf dem Modell addressesSearch eingefügt haben ich habe diesen Code hinzugefügt:
->andFilterWhere(['address_category.cate_id'=> $category]
es Funktion, aber ich möchte nicht wie, yii machen eine IN-Abfrage wie cate_id IN (4,5,6) statt i eine Abfrage benötigen, die die Adresse finden, die mit allen Kategorien markiert sind ausgewählt.
ich hoffe gut erklärt haben mein Problem
dank
$ query-> andFilterWhere (['IN', 'address_category.cate_id', $ category]); – jithin
diesen Code, den Sie gepostet haben, machen Sie das gleiche, das ich bereits habe. Ich versuche, besser zu erklären, wenn ich die Kategorie Kunde und Rechnung wähle, die ich nur Adresse suchen möchte, die mit Kunde und Rechnung getaggt werden und nicht sogar Klient und legal oder Klient und Technologie wie geschieht jetzt. danke – user3348353
Versuch -> andFilterWhere (['address_category.cate_id' => $ Kategorie]) -> andFilterWhere (['count (address_category.cate_id)' => count ($ category)]); –