Multiple and or relatedTo in plugin element criteria
Aren't you missing the -&gt;find() on the last bit?

$entries = craft()-&gt;elements-&gt;getCriteria(ElementType::Entry, [
    'section'           =&gt; 'products',
    'relatedTo'         =&gt; ['and', $fabric_categories, $color_categories],
])-&gt;find();
return $entries;