for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @copyright Copyright (c) Flipbox Digital Limited
* @license https://flipboxfactory.com/software/domains/license
* @link https://www.flipboxfactory.com/software/domains/
*/
namespace flipbox\domains\records;
use flipbox\craft\sortable\associations\records\SortableAssociation;
use flipbox\craft\sortable\associations\services\SortableAssociations;
use flipbox\domains\db\DomainsQuery;
use flipbox\domains\Domains as DomainsPlugin;
use flipbox\domains\fields\Domains;
use flipbox\domains\validators\DomainValidator;
use flipbox\ember\helpers\ModelHelper;
use flipbox\ember\traits\SiteRules;
* @author Flipbox Factory <[email protected]>
* @since 1.0.0
*
* @property int $fieldId
* @property string $domain
* @property int $elementId
class Domain extends SortableAssociation
{
use SiteRules;
* @inheritdoc
const TABLE_ALIAS = 'domains';
const TARGET_ATTRIBUTE = 'domain';
const SOURCE_ATTRIBUTE = 'elementId';
protected function associationService(): SortableAssociations
return DomainsPlugin::getInstance()->getAssociations();
}
* {@inheritdoc}
* @return DomainsQuery
public static function find()
return DomainsPlugin::getInstance()->getAssociations()->getQuery();
* @return array
public function rules(): array
return array_merge(
parent::rules(),
$this->siteRules(),
[
'status',
'fieldId',
],
'required'
'fieldId'
'number',
'integerOnly' => true
'domain',
DomainValidator::class
'in',
'range' => array_keys(Domains::getStatuses())
'safe',
'on' => [
ModelHelper::SCENARIO_DEFAULT
]
);