query = $query; } public function orderByDefault(RepositoryQueryInterface $query) :RepositoryQueryInterface { return $query; } public function filtersDefault($query):RepositoryQueryInterface { $this->addFilterBySectionOptionnal($query); $query->filterIsOnlineAndOffline(); return $query; } public function relationsDefault($query):RepositoryQueryInterface { return $query->joinProductFamily(); } //findProductByAvailabilitiesNegative public function getByAvailabilitiesNegative(ProductRepositoryQuery $query = null): array { $query = $this->createQuery($query); $query->joinProductFamily(); $query->filterIsOnline(); $query->filterBehaviorCountStock(); $query->groupBy('pf.id'); return $query->find(); } }