<?php namespace Sluggable\Fixture; use Gedmo\Sluggable\Sluggable; use Gedmo\Translatable\Translatable; use Gedmo\Mapping\Annotation as Gedmo; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity */ class TranslatableArticle implements Sluggable, Translatable { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @Gedmo\Translatable * @ORM\Column(type="string", length=64) */ private $title; /** * @Gedmo\Translatable * @ORM\Column(type="string", length=16) */ private $code; /** * @Gedmo\Translatable * @Gedmo\Slug(fields={"title", "code"}) * @ORM\Column(type="string", length=128) */ private $slug; /** * @ORM\OneToMany(targetEntity="Comment", mappedBy="article") */ private $comments; /** * @ORM\ManyToOne(targetEntity="Page", inversedBy="articles") */ private $page; /** * @Gedmo\Locale * Used locale to override Translation listener`s locale */ private $locale; public function addComment(Comment $comment) { $comment->setArticle($this); $this->comments[] = $comment; } public function getComments() { return $this->comments; } public function setPage($page) { $this->page = $page; } public function getId() { return $this->id; } public function setTitle($title) { $this->title = $title; } public function getTitle() { return $this->title; } public function setCode($code) { $this->code = $code; } public function getCode() { return $this->code; } public function getSlug() { return $this->slug; } public function setTranslatableLocale($locale) { $this->locale = $locale; } }