|
<?php |
|
|
|
namespace NewCoInc\AppBundle\Entity; |
|
|
|
use Doctrine\ORM\Mapping as ORM; |
|
use Doctrine\Common\Collections\ArrayCollection; |
|
use NewCoInc\AppBundle\Lib\FormattingLib; |
|
|
|
/** |
|
* Blog |
|
* |
|
* @ORM\Table(name="blog") |
|
* @ORM\Entity(repositoryClass="NewCoInc\AppBundle\Entity\BlogRepository") |
|
*/ |
|
class Blog |
|
{ |
|
/** |
|
* @var integer |
|
* |
|
* @ORM\Column(name="id", type="integer", nullable=false) |
|
* @ORM\Id |
|
* @ORM\GeneratedValue(strategy="IDENTITY") |
|
*/ |
|
private $id; |
|
|
|
/** |
|
* @var string |
|
* |
|
* @ORM\Column(name="title", type="string", length=255, nullable=false) |
|
*/ |
|
private $title; |
|
|
|
/** |
|
* @ORM\Column(type="string") |
|
*/ |
|
private $slug; |
|
|
|
/** |
|
* @var string |
|
* |
|
* @ORM\Column(name="author", type="string", length=100, nullable=false) |
|
*/ |
|
private $author; |
|
|
|
/** |
|
* @var string |
|
* |
|
* @ORM\Column(name="blog", type="text", nullable=false) |
|
*/ |
|
private $blog; |
|
|
|
/** |
|
* @var string |
|
* |
|
* @ORM\Column(name="image", type="string", length=20, nullable=false) |
|
*/ |
|
private $image; |
|
|
|
/** |
|
* @var string |
|
* |
|
* @ORM\Column(name="tags", type="text", nullable=false) |
|
*/ |
|
private $tags; |
|
|
|
/** |
|
* @ORM\OneToMany(targetEntity="Comment", mappedBy="blog") |
|
*/ |
|
private $comments; |
|
|
|
/** |
|
* @var \DateTime |
|
* |
|
* @ORM\Column(name="created", type="datetime", nullable=false) |
|
*/ |
|
private $created; |
|
|
|
/** |
|
* @var \DateTime |
|
* |
|
* @ORM\Column(name="updated", type="datetime", nullable=false) |
|
*/ |
|
private $updated; |
|
|
|
public function __construct() |
|
{ |
|
$this->comments = new ArrayCollection(); |
|
|
|
$this->setCreated(new \DateTime()); |
|
$this->setUpdated(new \DateTime()); |
|
|
|
$this->formatter = new FormattingLib(); |
|
} |
|
|
|
/** |
|
* Get id |
|
* |
|
* @return integer |
|
*/ |
|
public function getId() |
|
{ |
|
return $this->id; |
|
} |
|
|
|
/** |
|
* Set title |
|
* |
|
* @param string $title |
|
* @return Blog |
|
*/ |
|
public function setTitle($title) |
|
{ |
|
$this->title = $title; |
|
|
|
$this->setSlug($this->title); |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Get title |
|
* |
|
* @return string |
|
*/ |
|
public function getTitle() |
|
{ |
|
return $this->title; |
|
} |
|
|
|
/** |
|
* Set author |
|
* |
|
* @param string $author |
|
* @return Blog |
|
*/ |
|
public function setAuthor($author) |
|
{ |
|
$this->author = $author; |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Get author |
|
* |
|
* @return string |
|
*/ |
|
public function getAuthor() |
|
{ |
|
return $this->author; |
|
} |
|
|
|
/** |
|
* Set blog |
|
* |
|
* @param string $blog |
|
* @return Blog |
|
*/ |
|
public function setBlog($blog) |
|
{ |
|
$this->blog = $blog; |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Get blog |
|
* |
|
* @return string |
|
*/ |
|
public function getBlog() |
|
{ |
|
return $this->blog; |
|
} |
|
|
|
/** |
|
* Set image |
|
* |
|
* @param string $image |
|
* @return Blog |
|
*/ |
|
public function setImage($image) |
|
{ |
|
$this->image = $image; |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Get image |
|
* |
|
* @return string |
|
*/ |
|
public function getImage() |
|
{ |
|
return $this->image; |
|
} |
|
|
|
/** |
|
* Set tags |
|
* |
|
* @param string $tags |
|
* @return Blog |
|
*/ |
|
public function setTags($tags) |
|
{ |
|
$this->tags = $tags; |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Get tags |
|
* |
|
* @return string |
|
*/ |
|
public function getTags() |
|
{ |
|
return $this->tags; |
|
} |
|
|
|
/** |
|
* Set created |
|
* |
|
* @param \DateTime $created |
|
* @return Blog |
|
*/ |
|
public function setCreated($created) |
|
{ |
|
$this->created = $created; |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Get created |
|
* |
|
* @return \DateTime |
|
*/ |
|
public function getCreated() |
|
{ |
|
return $this->created; |
|
} |
|
|
|
/** |
|
* Set updated |
|
* |
|
* @param \DateTime $updated |
|
* @return Blog |
|
*/ |
|
public function setUpdated($updated) |
|
{ |
|
$this->updated = $updated; |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Get updated |
|
* |
|
* @return \DateTime |
|
*/ |
|
public function getUpdated() |
|
{ |
|
return $this->updated; |
|
} |
|
|
|
/** |
|
* Add comments |
|
* |
|
* @param \NewCoInc\AppBundle\Entity\Comment $comments |
|
* @return Blog |
|
*/ |
|
public function addComment(\NewCoInc\AppBundle\Entity\Comment $comments) |
|
{ |
|
$this->comments[] = $comments; |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Remove comments |
|
* |
|
* @param \NewCoInc\AppBundle\Entity\Comment $comments |
|
*/ |
|
public function removeComment(\NewCoInc\AppBundle\Entity\Comment $comments) |
|
{ |
|
$this->comments->removeElement($comments); |
|
} |
|
|
|
/** |
|
* Get comments |
|
* |
|
* @return \Doctrine\Common\Collections\Collection |
|
*/ |
|
public function getComments() |
|
{ |
|
return $this->comments; |
|
} |
|
|
|
/** |
|
* Set slug |
|
* |
|
* @param string $slug |
|
* @return Blog |
|
*/ |
|
public function setSlug($slug) |
|
{ |
|
$this->slug = $this->formatter->slugify($slug); |
|
|
|
return $this; |
|
} |
|
|
|
/** |
|
* Get slug |
|
* |
|
* @return string |
|
*/ |
|
public function getSlug() |
|
{ |
|
return $this->slug; |
|
} |
|
} |