Sluggable
Sluggable behavior will build the slug of predefined fields on a given field which should store the slug
- Automatic predefined field transformation into slug
- Slugs can be unique and styled, even with prefixes and/or suffixes
- Can be nested with other behaviors
- Annotation, Yaml and Xml mapping support for extensions
- Multiple slugs, different slugs can link to same fields
Installation
Add LaravelDoctrine\Extensions\Sluggable\SluggableExtension to doctrine.extensions config.
Property annotation
@Gedmo\Mapping\Annotation\Slug
This annotation will use the column to store slug generated fields option must be specified, an array of field names to slug
| Annotations | Description | 
|---|---|
| fields | array of fields that should be slugged | 
<?php
namespace Entity;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping as ORM;
/**
 * @ORM\Entity
 */
class Article
{
    /** 
    * @ORM\Id
    * @ORM\GeneratedValue 
    * @ORM\Column(type="integer")
    */
    protected $id;
    /**
     * @ORM\Column(length=64)
     */
    protected $title;
    /**
     * @ORM\Column(length=16)
     */
    protected $code;
    /**
     * @Gedmo\Slug(fields={"title", "code"})
     * @ORM\Column(length=128, unique=true)
     */
    protected $slug;
}For full documentation see here.