public function __construct()
{
parent::__construct();
$this->attr('boolean')->boolean();
$this->attr('char')->char()->setToArrayDefault();
$this->attr('skip')->char()->setSkipOnPopulate();
$this->attr('after')->char();
$this->attr('calculation')->integer()->onGet(function ($value, $multiplier = 1) {
return $value * $multiplier;
});
$this->attr('integer')->integer();
$this->attr('float')->float()->onGet(function ($value, $x = null) {
return $x ? 2 * $x : $value;
});
$this->attr('date')->date()->setToArrayDefault();
$this->attr('datetime')->datetime()->setToArrayDefault();
$this->attr('arr')->arr();
$this->attr('object')->object();
$this->attr('geoPoint')->geoPoint()->setToArrayDefault();
$this->attr('dynamic')->dynamic(function () {
return 'dynamic-value';
})->setToArrayDefault();
$this->attr('dynamicDb')->dynamic(function () {
return 'dynamic-value-db';
})->setStoreToDb()->setToArrayDefault();
$this->attr('dynamicWithDefaultParams')->dynamic(function ($multiplier = 2) {
return $this->integer * $multiplier;
})->setToArrayDefault();
$this->attr('dynamicWithParams')->dynamic(function ($multiplier = 1) {
return $this->integer * $multiplier;
});
$this->attr('dynamicEntity')->dynamic(function () {
return Many2One::findOne(['char' => 'many2oneNew']);
})->setToArrayDefault();
$this->attr('dynamicEntityCollection')->dynamic(function () {
return Many2One::find();
})->setToArrayDefault();
$this->attr('many2oneNew')->many2one()->setEntity(Classes::MANY_2_ONE_NO_VALIDATION);
$this->attr('many2oneExisting')->many2one()->setEntity(Classes::MANY_2_ONE_NO_VALIDATION);
$this->attr('one2many')->one2many('entity')->setEntity(Classes::ONE_2_MANY_NO_VALIDATION);
$this->attr('many2many')->many2many('NoValidation_Many2Many2Entity')->setEntity(Classes::MANY_2_MANY_NO_VALIDATION);
}