- Refractored Date/time fields
- Added an implode function on EntityCollection
This commit is contained in:
parent
538af38769
commit
07ba3f611b
|
@ -4,11 +4,8 @@ namespace Ulmus\Entity\Field;
|
|||
|
||||
class Date extends Datetime {
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
return $this->format("Y-m-d");
|
||||
}
|
||||
|
||||
public string $format = "Y-m-d";
|
||||
|
||||
public function formatLocale(string $format) : string
|
||||
{
|
||||
return strftime($format, $this->getTimestamp());
|
||||
|
|
|
@ -4,9 +4,6 @@ namespace Ulmus\Entity\Field;
|
|||
|
||||
class Time extends Datetime {
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
return $this->format("H:i:s");
|
||||
}
|
||||
public string $format = "H:i:s";
|
||||
|
||||
}
|
||||
|
|
|
@ -107,4 +107,15 @@ class EntityCollection extends \ArrayObject {
|
|||
|
||||
return $list;
|
||||
}
|
||||
|
||||
public function implode(string $glue, ? Callable $callback = null) : string
|
||||
{
|
||||
$values = [];
|
||||
|
||||
foreach($this as $item) {
|
||||
$values[] = $callback ? $callback($item) : (string) $item;
|
||||
}
|
||||
|
||||
return implode($glue, $values);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -110,6 +110,10 @@ trait EntityTrait {
|
|||
$bridgeRelation = $bridgeEntity->searchFieldAnnotation($relation->field, new Relation() );
|
||||
$relationRelation = $bridgeEntity->searchFieldAnnotation($relation->foreignField, new Relation() );
|
||||
|
||||
if ($relationRelation === null) {
|
||||
throw new \Exception("@Relation annotation not found for field `{$relation->foreignField}` in entity {$relation->bridge}");
|
||||
}
|
||||
|
||||
$repository = $relationRelation->entity()->repository();
|
||||
|
||||
$bridgeAlias = uniqid("bridge_");
|
||||
|
|
Loading…
Reference in New Issue