expr()->isNotNull('ps.id_section'); }; } public static function productsInFeed() { return function (QueryBuilder $qb) { return $qb->expr()->eq('p.show_in_feed', '1'); }; } public static function showInStore($in_store_only) { return function (QueryBuilder $qb) use ($in_store_only) { if ($in_store_only && !findModule(\Modules::PRODUCTS_SUPPLIERS)) { $qb->expr()->gt('COALESCE(pv.in_store, p.in_store)', 0); } }; } public static function limit($count, $offset = null) { return function (QueryBuilder $qb) use ($count, $offset) { if (isset($offset)) { $qb->setFirstResult($offset); } $qb->setMaxResults($count); }; } }