- Added relation's shortcut attributes
This commit is contained in:
parent
9eed2fe1a8
commit
1fac12c928
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace Ulmus\Attribute\Property\Relation;
|
||||
|
||||
use Ulmus\Attribute\Property\Relation;
|
||||
|
||||
#[\Attribute(\Attribute::TARGET_PROPERTY)]
|
||||
class ManyToMany extends Relation
|
||||
{
|
||||
public function __construct(
|
||||
public \Stringable|string|array $key = "",
|
||||
public null|\Closure|array $generateKey = null,
|
||||
public null|\Stringable|string|array $foreignKey = null,
|
||||
public null|\Stringable|string|array $foreignField = null,
|
||||
public array $foreignKeys = [],
|
||||
public null|string $bridge = null,
|
||||
public null|\Stringable|string|array $bridgeKey = null,
|
||||
public null|\Stringable|string|array $bridgeField = null,
|
||||
public null|\Stringable|string|array $bridgeForeignKey = null,
|
||||
public null|\Stringable|string|array $field = null,
|
||||
public null|string $entity = null,
|
||||
public null|string $join = null,
|
||||
public null|string $function = null,
|
||||
) {
|
||||
parent::__construct(
|
||||
RelationTypeEnum::manyToMany,
|
||||
$this->key,
|
||||
$this->generateKey,
|
||||
$this->foreignKey,
|
||||
$this->foreignField,
|
||||
$this->foreignKeys,
|
||||
$this->bridge,
|
||||
$this->bridgeKey,
|
||||
$this->bridgeField,
|
||||
$this->bridgeForeignKey,
|
||||
$this->field,
|
||||
$this->entity,
|
||||
$this->join,
|
||||
$this->function,
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace Ulmus\Attribute\Property\Relation;
|
||||
|
||||
use Ulmus\Attribute\Property\Relation;
|
||||
|
||||
#[\Attribute(\Attribute::TARGET_PROPERTY)]
|
||||
class OneToMany extends Relation
|
||||
{
|
||||
public function __construct(
|
||||
public \Stringable|string|array $key = "",
|
||||
public null|\Closure|array $generateKey = null,
|
||||
public null|\Stringable|string|array $foreignKey = null,
|
||||
public null|\Stringable|string|array $foreignField = null,
|
||||
public array $foreignKeys = [],
|
||||
public null|string $bridge = null,
|
||||
public null|\Stringable|string|array $bridgeKey = null,
|
||||
public null|\Stringable|string|array $bridgeField = null,
|
||||
public null|\Stringable|string|array $bridgeForeignKey = null,
|
||||
public null|\Stringable|string|array $field = null,
|
||||
public null|string $entity = null,
|
||||
public null|string $join = null,
|
||||
public null|string $function = null,
|
||||
) {
|
||||
parent::__construct(
|
||||
RelationTypeEnum::oneToMany,
|
||||
$this->key,
|
||||
$this->generateKey,
|
||||
$this->foreignKey,
|
||||
$this->foreignField,
|
||||
$this->foreignKeys,
|
||||
$this->bridge,
|
||||
$this->bridgeKey,
|
||||
$this->bridgeField,
|
||||
$this->bridgeForeignKey,
|
||||
$this->field,
|
||||
$this->entity,
|
||||
$this->join,
|
||||
$this->function,
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace Ulmus\Attribute\Property\Relation;
|
||||
|
||||
use Ulmus\Attribute\Property\Relation;
|
||||
|
||||
#[\Attribute(\Attribute::TARGET_PROPERTY)]
|
||||
class OneToOne extends Relation
|
||||
{
|
||||
public function __construct(
|
||||
public \Stringable|string|array $key = "",
|
||||
public null|\Closure|array $generateKey = null,
|
||||
public null|\Stringable|string|array $foreignKey = null,
|
||||
public null|\Stringable|string|array $foreignField = null,
|
||||
public array $foreignKeys = [],
|
||||
public null|string $bridge = null,
|
||||
public null|\Stringable|string|array $bridgeKey = null,
|
||||
public null|\Stringable|string|array $bridgeField = null,
|
||||
public null|\Stringable|string|array $bridgeForeignKey = null,
|
||||
public null|\Stringable|string|array $field = null,
|
||||
public null|string $entity = null,
|
||||
public null|string $join = null,
|
||||
public null|string $function = null,
|
||||
) {
|
||||
parent::__construct(
|
||||
RelationTypeEnum::oneToOne,
|
||||
$this->key,
|
||||
$this->generateKey,
|
||||
$this->foreignKey,
|
||||
$this->foreignField,
|
||||
$this->foreignKeys,
|
||||
$this->bridge,
|
||||
$this->bridgeKey,
|
||||
$this->bridgeField,
|
||||
$this->bridgeForeignKey,
|
||||
$this->field,
|
||||
$this->entity,
|
||||
$this->join,
|
||||
$this->function,
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue