qqq
This commit is contained in:
+24
-12
@@ -40,15 +40,15 @@ class ActiveQuery extends Component implements ISqlBuilder
|
||||
* 参数绑定
|
||||
*/
|
||||
public array $attributes = [];
|
||||
protected mixed $_mock = null;
|
||||
|
||||
|
||||
/**
|
||||
* Comply constructor.
|
||||
* @param $model
|
||||
* @param array $config
|
||||
* @throws
|
||||
*/
|
||||
public function __construct($model, array $config = [])
|
||||
public function __construct($model)
|
||||
{
|
||||
$this->modelClass = $model;
|
||||
|
||||
@@ -180,10 +180,18 @@ class ActiveQuery extends Component implements ISqlBuilder
|
||||
|
||||
/**
|
||||
* @return array|Collection
|
||||
* @throws Exception
|
||||
*/
|
||||
public function get(): Collection|array
|
||||
{
|
||||
return $this->all();
|
||||
$data = $this->execute($this->builder->all(), $this->attributes)->all();
|
||||
if ($data === false) {
|
||||
return new Collection($this, [], $this->modelClass);
|
||||
}
|
||||
|
||||
$collect = new Collection($this, $data, $this->modelClass);
|
||||
|
||||
return $this->asArray ? $collect->toArray() : $collect;
|
||||
}
|
||||
|
||||
|
||||
@@ -221,26 +229,30 @@ class ActiveQuery extends Component implements ISqlBuilder
|
||||
*/
|
||||
public function column(string $field, string $setKey = ''): ?array
|
||||
{
|
||||
return $this->all()->column($field, $setKey);
|
||||
return $this->get()->column($field, $setKey);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return array|Collection
|
||||
* @throws
|
||||
* @param mixed $value
|
||||
* @return $this
|
||||
*/
|
||||
public function all(): Collection|array
|
||||
public function withMock(mixed $value): static
|
||||
{
|
||||
$data = $this->execute($this->builder->all(), $this->attributes)->all();
|
||||
if ($data === false) {
|
||||
return new Collection($this, [], $this->modelClass);
|
||||
$this->_mock = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
$collect = new Collection($this, $data, $this->modelClass);
|
||||
|
||||
return $this->asArray ? $collect->toArray() : $collect;
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function mock(): mixed
|
||||
{
|
||||
return $this->_mock;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $data
|
||||
* @return ModelInterface|array
|
||||
|
||||
@@ -229,7 +229,7 @@ class Model extends Base\Model
|
||||
*/
|
||||
public static function get($condition): Collection|array
|
||||
{
|
||||
return static::query()->where($condition)->all();
|
||||
return static::query()->where($condition)->get();
|
||||
}
|
||||
|
||||
|
||||
@@ -246,7 +246,7 @@ class Model extends Base\Model
|
||||
if (!empty($attributes)) {
|
||||
$query->bindParams($attributes);
|
||||
}
|
||||
return $query->all();
|
||||
return $query->get();
|
||||
}
|
||||
|
||||
|
||||
|
||||
+3
-2
@@ -60,7 +60,7 @@ class Relation extends Component
|
||||
}
|
||||
$activeModel = $this->_query[$_identification]->first();
|
||||
if (empty($activeModel)) {
|
||||
return null;
|
||||
return $this->_query[$_identification]->mock();
|
||||
}
|
||||
unset($this->_query[$_identification]);
|
||||
return Context::set($_identification, $activeModel);
|
||||
@@ -78,7 +78,7 @@ class Relation extends Component
|
||||
}
|
||||
$activeModel = $this->_query[$_identification]->count();
|
||||
if (empty($activeModel)) {
|
||||
return null;
|
||||
return $this->_query[$_identification]->mock();
|
||||
}
|
||||
unset($this->_query[$_identification]);
|
||||
return Context::set($_identification, $activeModel);
|
||||
@@ -88,6 +88,7 @@ class Relation extends Component
|
||||
/**
|
||||
* @param string $_identification
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public function get(string $_identification): mixed
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user