教义扩展:在刷新到数据库之前生成

时间:2018-12-02 13:16:51

标签: php symfony doctrine-orm stofdoctrineextensions

使用StofDoctrineExtensionsBundle(对于Symfony),我根据实体Institution的属性internationalName为我的实体/** * @ORM\Column(type="string", length=100, unique=true) * @Gedmo\Slug(fields={"internationalName"}) */ private $slug; 生成了一个子弹:

Institution.php

sluggable: true

在我的配置设置中,我设置了Institution并生成唯一的子弹,如创建新的getSlug()或更新现有的子弹一样。

在刷新到数据库之前,我需要在控制器中生成生成的子弹。问题是,当将新实体刷新到数据库时会生成该段。我已经搜索了这个问题,发现两个没有令人满意的答案的问题,herehere

最好像这样更改实体中的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] ,则“预刷新的子弹”可以是现有的。我的控制器出现问题。

是否有解决方案来生成独特的弹头预冲洗?

0 个答案:

没有答案