我有一个文章表,其中唯一可以包含文本的字段是content
从那里我想弄到一颗子弹
/**
* @ORM\Column(type="string", length=64, unique=true)
* @Gedmo\Slug(fields={"content"})
*/
private $slug;
一次错误,我发现如果我尝试使用某个表情符号,它的slug就会变成空的
我曾尝试检查setter方法中的slug是否为null,但未成功
public function setSlug(string $slug): self
{
if ($slug)
{
$this->slug = $slug;
}
else {
$r = substr(md5(rand()), 0, 7);
$this->slug = $r;
}
return $this;
}
MySQL 5.7、PHP7.2、symfony 4.2、字符集utf8mb4_unicode_ci
有什么想法吗?我的symfony技能是...乞讨者的级别:)
发布于 2019-05-23 19:24:23
在实体中使用@Assert
以仅允许alphaNumeric值,并检查其是否不为空:
/**
* @Assert\NotBlank
* @Assert\Type(type="alnum")
* @ORM\Column(type="string", length=64, unique=true)
* @Gedmo\Slug(fields={"content"})
*/
private $slug;
请参阅此处的文档:Symfony Validation doc
https://stackoverflow.com/questions/56273298
复制相似问题