Symfony Gedmo Slug来自关系
我使用ORM和Gedmo\Slug,我有一个类,包含相关的EntityJob和title字段,我想根据job title生成Slug。我是这样配置的:Symfony Gedmo Slug来自关系,symfony,doctrine-orm,slug,Symfony,Doctrine Orm,Slug,我使用ORM和Gedmo\Slug,我有一个类,包含相关的EntityJob和title字段,我想根据job title生成Slug。我是这样配置的: /** * * @Gedmo\Slug(handlers={ * @Gedmo\SlugHandler(class="Gedmo\Sluggable\Handler\RelativeSlugHandler", options={ * @Gedmo\SlugHandlerOptio
/**
*
* @Gedmo\Slug(handlers={
* @Gedmo\SlugHandler(class="Gedmo\Sluggable\Handler\RelativeSlugHandler", options={
* @Gedmo\SlugHandlerOption(name="relationField", value="job"),
* @Gedmo\SlugHandlerOption(name="relationSlugField", value="title"),
* @Gedmo\SlugHandlerOption(name="separator", value="-"),
* })
* }, fields={"slug"})
* @ORM\Column(type="string", unique=true, nullable=true)
*/
private $slug = '';
/**
* @var Job
*
* @ORM\OneToOne(targetEntity="Job", inversedBy="estimation")
* @ORM\JoinColumn(name="job_id", referencedColumnName="id", nullable = false)
*/
private $job;
但在slug字段中,设置标题值与标题字段值完全相同(不带小写、分隔符和空格)。
我不明白怎么回事如果您突然遇到类似问题,您需要将选项urilize设置为true:
/**
*
* @Gedmo\Slug(handlers={
* @Gedmo\SlugHandler(class="Gedmo\Sluggable\Handler\RelativeSlugHandler", options={
* @Gedmo\SlugHandlerOption(name="relationField", value="job"),
* @Gedmo\SlugHandlerOption(name="relationSlugField", value="title"),
* @Gedmo\SlugHandlerOption(name="separator", value="-"),
* @Gedmo\SlugHandlerOption(name="urilize", value="true"),
* })
* }, fields={"slug"})
* @ORM\Column(type="string", unique=true, nullable=true)
*/
private $slug;