ArticleRelativeSlug.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace Sluggable\Fixture\Handler;
  3. use Gedmo\Mapping\Annotation as Gedmo;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6. * @ORM\Entity
  7. */
  8. class ArticleRelativeSlug
  9. {
  10. /**
  11. * @ORM\Id
  12. * @ORM\GeneratedValue
  13. * @ORM\Column(type="integer")
  14. */
  15. private $id;
  16. /**
  17. * @Gedmo\Sluggable
  18. * @ORM\Column(length=64)
  19. */
  20. private $title;
  21. /**
  22. * @Gedmo\Slug(handlers={
  23. * @Gedmo\SlugHandler(class="Gedmo\Sluggable\Handler\RelativeSlugHandler", options={
  24. * @Gedmo\SlugHandlerOption(name="relationField", value="article"),
  25. * @Gedmo\SlugHandlerOption(name="relativeSlugField", value="slug"),
  26. * @Gedmo\SlugHandlerOption(name="separator", value="/")
  27. * })
  28. * }, separator="-", updatable=true)
  29. * @ORM\Column(name="slug", type="string", length=64, unique=true)
  30. */
  31. private $slug;
  32. /**
  33. * @ORM\ManyToOne(targetEntity="Article")
  34. */
  35. private $article;
  36. public function setArticle(Article $article = null)
  37. {
  38. $this->article = $article;
  39. }
  40. public function getArticle()
  41. {
  42. return $this->article;
  43. }
  44. public function getId()
  45. {
  46. return $this->id;
  47. }
  48. public function setTitle($title)
  49. {
  50. $this->title = $title;
  51. }
  52. public function getTitle()
  53. {
  54. return $this->title;
  55. }
  56. public function getSlug()
  57. {
  58. return $this->slug;
  59. }
  60. }