File: /var/www/heifetz/heifetz-app/models/Company.php
<?php
declare(strict_types=1);
namespace Models;
use Core\DbLib\NewDbModel;
use Core\Models\OldUser;
use Models\Repositories\CompanyRepository;
/**
* @property int $id
* @property string $name
* @property string $url
* @property bool $deleted
*/
final class Company extends NewDbModel
{
static string $tableName = 'companies';
public static function getRules(): array
{
return [
'name' => 'required|size:255',
'url' => 'required|size:255',
];
}
protected static function getTranslations(): array
{
return [
'name' => 'Название компании',
'url' => 'Url компании',
];
}
protected function afterCreate(): void
{
CompanyRepository::updateCache($this);
}
protected function afterUpdate(): void
{
CompanyRepository::updateCache($this);
}
protected function afterDelete(): void
{
CompanyRepository::updateCache($this);
}
public static function getName(int $companyId): ?string
{
return self::findOne($companyId, OldUser::isSystemUser() ? null : false)->name ?? null;
}
public function denyPresenter(string $presenter): void
{
(new CompanyPresenterRelation(['company_id' => $this->id, 'presenter' => $presenter]))->save();
}
}