This commit is contained in:
2023-04-01 18:50:44 +08:00
parent cd94d2dc57
commit 1dfe32bf3c
4 changed files with 9 additions and 6 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ class HasCount extends HasBase
public function get(): array|ModelInterface|null
{
$relation = Kiri::getDi()->get(Relation::class);
return $relation->count($this->name);
return $relation->getQuery($this->name)->count();
}
}
+1 -1
View File
@@ -29,6 +29,6 @@ class HasMany extends HasBase
public function get(): array|Collection|null
{
$relation = Kiri::getDi()->get(Relation::class);
return $relation->get($this->name);
return $relation->getQuery($this->name)->get();
}
}
+1 -1
View File
@@ -28,6 +28,6 @@ class HasOne extends HasBase
public function get(): array|ModelInterface|null
{
$relation = Kiri::getDi()->get(Relation::class);
return $relation->first($this->name);
return $relation->getQuery($this->name)->first();
}
}
+6 -3
View File
@@ -28,7 +28,7 @@ abstract class HasBase implements \Database\Traits\Relation
{
/** @var ModelInterface|Collection */
protected Collection|ModelInterface $data;
protected mixed $data = null;
/**
* @var ModelInterface
@@ -37,7 +37,7 @@ abstract class HasBase implements \Database\Traits\Relation
protected mixed $value = 0;
/**
* HasBase constructor.
@@ -71,6 +71,9 @@ abstract class HasBase implements \Database\Traits\Relation
*/
public function __get($name): mixed
{
return $this->get();
if ($this->data === null) {
$this->data = $this->get();
}
return $this->data;
}
}