使用StofDoctrineExtensionsBundle
(对于Symfony),我根据实体Institution
的属性internationalName
为我的实体/**
* @ORM\Column(type="string", length=100, unique=true)
* @Gedmo\Slug(fields={"internationalName"})
*/
private $slug;
生成了一个子弹:
Institution.php
sluggable: true
在我的配置设置中,我设置了Institution
并生成唯一的子弹,如创建新的getSlug()
或更新现有的子弹一样。
在刷新到数据库之前,我需要在控制器中生成生成的子弹。问题是,当将新实体刷新到数据库时会生成该段。我已经搜索了这个问题,发现两个没有令人满意的答案的问题,here和here。
最好像这样更改实体中的public function getSlug()
{
if (!$this->slug) {
return Urlizer::urlize($this->getInternationalName());
}
return $this->slug;
}
:
internationalName
但是,我的实体的internationalName
不必是唯一的,因此如果数据库中已经存在 # for /view-auctions/ enforce http
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} /view-auctions/ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# except for /view-auctions/ enforce https
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} /view-auctions/ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
,则“预刷新的子弹”可以是现有的。我的控制器出现问题。
是否有解决方案来生成独特的弹头预冲洗?