Source of file OrderFiltersMultiOptionsetStatusIDFilter.php
Size: 0,819 Bytes - Last Modified: 2021-12-23T10:39:35+00:00
/var/www/docs.ssmods.com/process/src/src/Search/Filters/OrderFiltersMultiOptionsetStatusIDFilter.php
12345678910111213141516171819202122232425262728293031323334 | <?php namespace Sunnysideup\Ecommerce\Search\Filters; use SilverStripe\ORM\DataQuery; use SilverStripe\ORM\Filters\ExactMatchFilter; /** * Allows you to filter orders for multiple statusIDs. * * @authors: Nicolaas [at] Sunny Side Up .co.nz * @package: ecommerce * @sub-package: search */ class OrderFiltersMultiOptionsetStatusIDFilter extends ExactMatchFilter { /** * @return DataQuery */ public function apply(DataQuery $query) { $this->model = $query->applyRelation($this->relation); $values = $this->getValue(); if (! is_array($values)) { $values = [$values]; } if (is_array($values) && count($values)) { $query = $query->where('"StatusID" IN (' . implode(', ', $values) . ')'); } return $query; } } |