改名
This commit is contained in:
@@ -222,7 +222,7 @@ class ActiveQuery extends Component
|
|||||||
->createCommand($this->queryBuilder())
|
->createCommand($this->queryBuilder())
|
||||||
->all();
|
->all();
|
||||||
|
|
||||||
$collect = new Collection();
|
$collect = new Collection($this);
|
||||||
$collect->setModel($this->modelClass);
|
$collect->setModel($this->modelClass);
|
||||||
$collect->setItems($data);
|
$collect->setItems($data);
|
||||||
if ($this->asArray) {
|
if ($this->asArray) {
|
||||||
|
|||||||
@@ -27,14 +27,18 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat
|
|||||||
/** @var ActiveRecord */
|
/** @var ActiveRecord */
|
||||||
protected $model;
|
protected $model;
|
||||||
|
|
||||||
|
protected $query;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Collection constructor.
|
* Collection constructor.
|
||||||
*
|
*
|
||||||
|
* @param $query
|
||||||
* @param array $array
|
* @param array $array
|
||||||
*/
|
*/
|
||||||
public function __construct(array $array = [])
|
public function __construct($query, array $array = [])
|
||||||
{
|
{
|
||||||
$this->_item = $array;
|
$this->_item = $array;
|
||||||
|
$this->query = $query;
|
||||||
|
|
||||||
parent::__construct([]);
|
parent::__construct([]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -187,13 +187,13 @@ class Collection extends AbstractCollection
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $condition
|
* @param array $condition
|
||||||
* @return Filters
|
* @return Collection
|
||||||
* @throws
|
* @throws
|
||||||
*/
|
*/
|
||||||
public function filter(array $condition)
|
public function filter(array $condition)
|
||||||
{
|
{
|
||||||
if (empty($condition)) {
|
if (empty($condition)) {
|
||||||
return new Filters($this);
|
return $this;
|
||||||
}
|
}
|
||||||
$_filters = [];
|
$_filters = [];
|
||||||
foreach ($this as $value) {
|
foreach ($this as $value) {
|
||||||
@@ -207,7 +207,7 @@ class Collection extends AbstractCollection
|
|||||||
}
|
}
|
||||||
$_filters[] = $value;
|
$_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