Post entity update. PostRepository and TagRepository created.
This commit is contained in:
parent
6e32fec5c1
commit
ae8cbde3e1
|
@ -10,14 +10,18 @@ use Skobkin\Bundle\PointToolsBundle\Entity\User;
|
|||
* Post
|
||||
*
|
||||
* @ORM\Table(name="posts.posts", schema="posts", indexes={
|
||||
* @ORM\Index(name="idx_post_created_at", columns={"created_at"})
|
||||
* @ORM\Index(name="idx_post_created_at", columns={"created_at"}),
|
||||
* @ORM\Index(name="idx_post_private", columns={"private"}),
|
||||
* })
|
||||
* @ORM\Entity
|
||||
* @ORM\Entity(repositoryClass="Skobkin\Bundle\PointToolsBundle\Entity\Blogs\PostRepository")
|
||||
*/
|
||||
class Post
|
||||
{
|
||||
const TYPE_POST = 'post';
|
||||
const TYPE_FEED = 'feed';
|
||||
|
||||
/**
|
||||
* @var integer
|
||||
* @var int
|
||||
*
|
||||
* @ORM\Column(name="id", type="string", length=16)
|
||||
* @ORM\Id
|
||||
|
@ -45,6 +49,13 @@ class Post
|
|||
*/
|
||||
private $type;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*
|
||||
* @ORM\Column(name="private", type="boolean", nullable=true)
|
||||
*/
|
||||
private $private;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*
|
||||
|
@ -77,10 +88,20 @@ class Post
|
|||
private $comments;
|
||||
|
||||
|
||||
public function __construct($id, $type, $text, \DateTime $createdAt, User $author = null)
|
||||
/**
|
||||
* Post constructor.
|
||||
* @param string $id
|
||||
* @param string $type
|
||||
* @param bool $private
|
||||
* @param string $text
|
||||
* @param \DateTime $createdAt
|
||||
* @param User|null $author
|
||||
*/
|
||||
public function __construct($id, $type, $private, $text, \DateTime $createdAt, User $author = null)
|
||||
{
|
||||
$this->id = $id;
|
||||
$this->type = $type;
|
||||
$this->private = $private;
|
||||
$this->createdAt = $createdAt;
|
||||
$this->text = $text;
|
||||
$this->author = $author;
|
||||
|
@ -251,4 +272,27 @@ class Post
|
|||
{
|
||||
return $this->deleted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set private
|
||||
*
|
||||
* @param boolean $private
|
||||
* @return Post
|
||||
*/
|
||||
public function setPrivate($private)
|
||||
{
|
||||
$this->private = $private;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get private
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function getPrivate()
|
||||
{
|
||||
return $this->private;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace Skobkin\Bundle\PointToolsBundle\Entity\Blogs;
|
||||
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
|
||||
class PostRepository extends EntityRepository
|
||||
{
|
||||
|
||||
}
|
|
@ -10,7 +10,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||
* @ORM\Table(name="posts.tags", schema="posts", indexes={
|
||||
* @ORM\Index(name="idx_tag_text", columns={"text"})
|
||||
* })
|
||||
* @ORM\Entity
|
||||
* @ORM\Entity(repositoryClass="Skobkin\Bundle\PointToolsBundle\Entity\Blogs\TagRepository")
|
||||
*/
|
||||
class Tag
|
||||
{
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace Skobkin\Bundle\PointToolsBundle\Entity\Blogs;
|
||||
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
|
||||
class TagRepository extends EntityRepository
|
||||
{
|
||||
/**
|
||||
* @param $text
|
||||
* @return Tag|null
|
||||
* @throws \Doctrine\ORM\NonUniqueResultException
|
||||
*/
|
||||
public function findOneByLowerText($text)
|
||||
{
|
||||
$qb = $this->createQueryBuilder('t');
|
||||
return $qb
|
||||
->where($qb->expr()->eq(
|
||||
$qb->expr()->lower('t.text'),
|
||||
$qb->expr()->lower(':text')
|
||||
))
|
||||
->setParameter('text', $text)
|
||||
->getQuery()->getOneOrNullResult()
|
||||
;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue