26 lines
876 B
PHP
26 lines
876 B
PHP
<?php
|
|
|
|
namespace Ulmus\Entity\Mssql;
|
|
|
|
use Ulmus\EntityCollection,
|
|
Ulmus\Entity\Field\Datetime;
|
|
|
|
use Ulmus\{Attribute\Obj\Table as TableObj, Ulmus};
|
|
use Ulmus\Attribute\Property\{Field, Filter, FilterJoin, Relation, Join, Virtual, Where};
|
|
use Ulmus\Repository;
|
|
|
|
#[TableObj(name: "tables", schema: "information_schema")]
|
|
class Table extends \Ulmus\Entity\InformationSchema\Table
|
|
{
|
|
#[Relation(type: "oneToMany", key: "name", foreignKey: [ Column::class, 'tableName' ], entity: Column::class)]
|
|
#[Where('TABLE_SCHEMA', generateValue: [ Table::class, 'getSchema' ])]
|
|
##[Filter(method: "filterColumns")]
|
|
public EntityCollection $columns;
|
|
|
|
public function filterColumns() : Repository
|
|
{
|
|
$adapter = Ulmus::$registeredAdapters[$this->loadedFromAdapter];
|
|
|
|
return Column::repository(Repository\MssqlRepository::DEFAULT_ALIAS, $adapter);
|
|
}
|
|
} |