32 lines
896 B
PHP
32 lines
896 B
PHP
<?php
|
|
|
|
namespace Core\Objects\DatabaseEntity\Attribute;
|
|
|
|
// Managed NM table, e.g. #[MultipleReference(Y::class, "x", "z")] in X::class will use
|
|
// the table of Y::class and lookup values by column "x_id" and create an array with keys of "z_id" holding a reference of Y
|
|
|
|
#[\Attribute(\Attribute::TARGET_PROPERTY)]
|
|
class MultipleReference {
|
|
|
|
private string $className;
|
|
private string $thisProperty;
|
|
private string $relProperty;
|
|
|
|
public function __construct(string $className, string $thisProperty, string $relProperty = "id") {
|
|
$this->className = $className;
|
|
$this->thisProperty = $thisProperty;
|
|
$this->relProperty = $relProperty;
|
|
}
|
|
|
|
public function getClassName(): string {
|
|
return $this->className;
|
|
}
|
|
|
|
public function getThisProperty(): string {
|
|
return $this->thisProperty;
|
|
}
|
|
|
|
public function getRelProperty(): string {
|
|
return $this->relProperty;
|
|
}
|
|
} |