Structure declaration
Columns
Examples
<?php
use ForestAdmin\AgentPHP\DatasourceToolkit\Collection;
use ForestAdmin\AgentPHP\DatasourceToolkit\Components\Contracts\DatasourceContract;
use ForestAdmin\AgentPHP\DatasourceToolkit\Components\Query\ConditionTree\Operators;
use ForestAdmin\AgentPHP\DatasourceToolkit\Schema\ColumnSchema;
use ForestAdmin\AgentPHP\DatasourceToolkit\Schema\Relations\ManyToManySchema;
use ForestAdmin\AgentPHP\DatasourceToolkit\Schema\Relations\ManyToOneSchema;
class MovieCollection extends Collection
{
public function __construct(DatasourceContract $datasource)
{
parent::__construct(
$datasource,
'Movie'
);
$this->addField('id', new ColumnSchema(
columnType: 'Number',
filterOperators: [],
isPrimaryKey: true
));
$this->addField('title', new ColumnSchema(
columnType: 'String',
filterOperators: [],
validation: [
['operator' => Operators::PRESENT],
]
));
$this->addField('mpa_rating', new ColumnSchema(
columnType: 'Enum',
defaultValue: 'G',
enumValues: ['G', 'PG', 'PG-13', 'R', 'NC-17']
));
$this->addField('stars', new ColumnSchema(
columnType: [
[
'firstName' => 'String',
'lastName' => 'String',
],
]
));
}
}Typing
Validation
Relationships
Examples
Typing
Last updated