改名
This commit is contained in:
@@ -222,7 +222,7 @@ class ActiveQuery extends Component
|
||||
->createCommand($this->queryBuilder())
|
||||
->all();
|
||||
|
||||
$collect = new Collection();
|
||||
$collect = new Collection($this);
|
||||
$collect->setModel($this->modelClass);
|
||||
$collect->setItems($data);
|
||||
if ($this->asArray) {
|
||||
|
||||
@@ -27,14 +27,18 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat
|
||||
/** @var ActiveRecord */
|
||||
protected $model;
|
||||
|
||||
protected $query;
|
||||
|
||||
/**
|
||||
* Collection constructor.
|
||||
*
|
||||
* @param $query
|
||||
* @param array $array
|
||||
*/
|
||||
public function __construct(array $array = [])
|
||||
public function __construct($query, array $array = [])
|
||||
{
|
||||
$this->_item = $array;
|
||||
$this->query = $query;
|
||||
|
||||
parent::__construct([]);
|
||||
}
|
||||
|
||||
@@ -187,13 +187,13 @@ class Collection extends AbstractCollection
|
||||
|
||||
/**
|
||||
* @param array $condition
|
||||
* @return Filters
|
||||
* @return Collection
|
||||
* @throws
|
||||
*/
|
||||
public function filter(array $condition)
|
||||
{
|
||||
if (empty($condition)) {
|
||||
return new Filters($this);
|
||||
return $this;
|
||||
}
|
||||
$_filters = [];
|
||||
foreach ($this as $value) {
|
||||
@@ -207,7 +207,7 @@ class Collection extends AbstractCollection
|
||||
}
|
||||
$_filters[] = $value;
|
||||
}
|
||||
return new Filters($_filters);
|
||||
return new Collection($this->query, $_filters);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Database;
|
||||
|
||||
|
||||
/**
|
||||
* Class Filters
|
||||
* @package Yoc\db
|
||||
*/
|
||||
class Filters
|
||||
{
|
||||
|
||||
private $_filters = [];
|
||||
|
||||
/**
|
||||
* Filters constructor.
|
||||
* @param $data
|
||||
*/
|
||||
public function __construct($data)
|
||||
{
|
||||
$this->_filters = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection
|
||||
*/
|
||||
public function get()
|
||||
{
|
||||
return new Collection($this->_filters);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->_filters);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user