Shopware Criteria Filter bei Multi-Select Custom Field

Hallo,

ich habe bei den Herstellern ein Custom Field „custom_brands_sales_channel_visibility“ vom Typ Multiselect, in dem Sales Channel zugewiesen werden. Jetzt hole ich mir in meinem Plugin alle Hersteller über das Repository und würde gerne zusätzlich danach Filtern, ob dieser Hersteller in dem Custom Field den aktuellen Sales Channel zugewiesen hat.

$criteria->addFilter(new EqualsFilter('customFields.custom_brands_sales_channel_visibility', 'b28f91365b2147f6ada4684457bbc008' ));

Das ergibt 0 Ergebnisse. Wenn ich mir die Hersteller aber über ein print_r ausgeben lasse, bekomme ich

[custom_brands_sales_channel_visibility] => Array
(
       [0] => b28f91365b2147f6ada4684457bbc008
)

Wieso erhalte ich hier kein positives Resultat, weil es ein Array ist und kein einzelner Wert? Wie erstelle ich Criteria Filter mit Arrays? Bitte um Hilfe :frowning:

LG Alex

Das ist eine ManyToMany Assoziation, dafür könntest du eine Entity für schreiben. Ich denke via Custom Fields wird das nicht machbar sein.

1 „Gefällt mir“

Manchmal ist Shopware echt unnötig kompliziert, Wahnsinn! Habe leider wieder mal keine Ahnung :smiley: Bisher haben die Filter super funktioniert, wenn es sich um Custom Fields gehandelt hat, die Text oder True/False Werte haben können. Multiselect scheint wohl nicht so einfach zu gehen :frowning: