ulmus/src/Entity/Mssql/Table.php
2025-06-20 13:11:56 +00:00

27 lines
842 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
{
#[Virtual(method: "filterColumns")]
public EntityCollection $columns;
public function filterColumns() : EntityCollection
{
$adapter = Ulmus::$registeredAdapters[$this->loadedFromAdapter];
return Column::repository(Repository\MssqlRepository::DEFAULT_ALIAS, $adapter)
->where(Column::field('tableName'), $this->name )
->and(Column::field('tableSchema'), $this->schema )
->loadAll();
}
}