Sortable
Sortable behavior will maintain a position field for ordering entities.
- Automatic handling of position index
- Group entity ordering by one or more fields
- Can be nested with other behaviors
- Annotation, Yaml and Xml mapping support for extensions
Installation
Add LaravelDoctrine\Extensions\Sortable\SortableExtension
to doctrine.extensions
config.
Property annotation
@Gedmo\Mapping\Annotation\SortableGroup
This annotation will be used for grouping
@Gedmo\Mapping\Annotation\SortablePosition
This annotation will be used to store position index
<?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;
/**
* @Gedmo\SortablePosition
* @ORM\Column(name="position", type="integer")
*/
protected $position;
/**
* @Gedmo\SortableGroup
* @ORM\Column(name="category", type="string", length=128)
*/
protected $category;
}
For full documentation see here.