<?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); } }