protected function referencesOne(string $entity, string $field)
{
$referenced_id = $this->{$field};
if (is_array($referenced_id) && isset($referenced_id[0])) {
$referenced_id = $referenced_id[0];
}
$entityInstance = Ioc::make($entity);
if ($entityInstance instanceof Schema) {
$dataMapper = Ioc::make(DataMapper::class);
$dataMapper->setSchema($entityInstance);
return $dataMapper->first(['_id' => $referenced_id], [], true);
}
return $entityInstance::first(['_id' => $referenced_id], [], true);
}