Symfony Gedmo 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

我使用ORM和Gedmo\Slug,我有一个类,包含相关的EntityJob和title字段,我想根据job title生成Slug。我是这样配置的:

/**
     *
     * @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;