public function findBy(array $where)
{
$collection = clone $this;
$parser = $collection->getParser();
foreach ($where as $column => $value) {
$parser->processWhereExpression($column, $value, $collection->queryBuilder, $collection->distinct);
}
return $collection;
}
/** * Filter by select value * @param Filter\FilterSelect $filter * @return void */ public function applyFilterSelect(Filter\FilterSelect $filter) { $this->data_source = $this->data_source->findBy([$this->prepareColumn($filter->getColumn()) => $filter->getValue()]); }