Я хочу ограничить значения в поле action
.В этом поле могут храниться только предопределенные строки.@Assert\Choice(callback="getActions")
работает только с формостроителем?Есть ли другой способ проверить допустимые значения?
class Log
{
const SENT_REGISTRATION_EMAIL = 'Registration email was sent';
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="text", length=50)
* @Assert\Choice(callback="getActions")
*/
private $action;
.
.
.
/**
*
* @return string[]
*/
public static function getActions(): array
{
return [self::SENT_REGISTRATION_EMAIL];
}
}
$log = new Log();
$log->setAction(Log::SENT_REGISTRATION_EMAIL);
$this->em->persist($log);
$this->em->flush();