Added the Comment entity
This commit is contained in:
parent
4a61f0a1f1
commit
bb9e6e6dba
30
app/DoctrineMigrations/Version20120915132603.php
Normal file
30
app/DoctrineMigrations/Version20120915132603.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration,
|
||||
Doctrine\DBAL\Schema\Schema;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your need!
|
||||
*/
|
||||
class Version20120915132603 extends AbstractMigration
|
||||
{
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
// this up() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("CREATE TABLE comments (id INT AUTO_INCREMENT NOT NULL, post_id INT NOT NULL, user_id INT DEFAULT NULL, createdAt DATETIME NOT NULL, subject VARCHAR(150) DEFAULT NULL, hidden TINYINT(1) NOT NULL, content LONGTEXT NOT NULL, INDEX IDX_5F9E962A4B89032C (post_id), INDEX IDX_5F9E962AA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB");
|
||||
$this->addSql("ALTER TABLE comments ADD CONSTRAINT FK_5F9E962A4B89032C FOREIGN KEY (post_id) REFERENCES blog_posts (id)");
|
||||
$this->addSql("ALTER TABLE comments ADD CONSTRAINT FK_5F9E962AA76ED395 FOREIGN KEY (user_id) REFERENCES users (id)");
|
||||
}
|
||||
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
// this down() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("DROP TABLE comments");
|
||||
}
|
||||
}
|
198
src/GergelyPolonkai/FrontBundle/Entity/Comment.php
Normal file
198
src/GergelyPolonkai/FrontBundle/Entity/Comment.php
Normal file
@ -0,0 +1,198 @@
|
||||
<?php
|
||||
namespace GergelyPolonkai\FrontBundle\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="comments")
|
||||
*/
|
||||
class Comment
|
||||
{
|
||||
/**
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
* @ORM\Column(type="integer")
|
||||
*/
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="Post")
|
||||
* @ORM\JoinColumn(nullable=false)
|
||||
*/
|
||||
private $post;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="User")
|
||||
* @ORM\JoinColumn(nullable=true)
|
||||
*/
|
||||
private $user;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="datetime", nullable=false)
|
||||
*/
|
||||
private $createdAt;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=150, nullable=true)
|
||||
*/
|
||||
private $subject;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="boolean", nullable=false)
|
||||
*/
|
||||
private $hidden;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="text", nullable=false)
|
||||
*/
|
||||
private $content;
|
||||
|
||||
/**
|
||||
* Get id
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function getId()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set createdAt
|
||||
*
|
||||
* @param \DateTime $createdAt
|
||||
* @return Comment
|
||||
*/
|
||||
public function setCreatedAt($createdAt)
|
||||
{
|
||||
$this->createdAt = $createdAt;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get createdAt
|
||||
*
|
||||
* @return \DateTime
|
||||
*/
|
||||
public function getCreatedAt()
|
||||
{
|
||||
return $this->createdAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set subject
|
||||
*
|
||||
* @param string $subject
|
||||
* @return Comment
|
||||
*/
|
||||
public function setSubject($subject)
|
||||
{
|
||||
$this->subject = $subject;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get subject
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getSubject()
|
||||
{
|
||||
return $this->subject;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set hidden
|
||||
*
|
||||
* @param boolean $hidden
|
||||
* @return Comment
|
||||
*/
|
||||
public function setHidden($hidden)
|
||||
{
|
||||
$this->hidden = $hidden;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get hidden
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function getHidden()
|
||||
{
|
||||
return $this->hidden;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set content
|
||||
*
|
||||
* @param string $content
|
||||
* @return Comment
|
||||
*/
|
||||
public function setContent($content)
|
||||
{
|
||||
$this->content = $content;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get content
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getContent()
|
||||
{
|
||||
return $this->content;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set post
|
||||
*
|
||||
* @param GergelyPolonkai\FrontBundle\Entity\Post $post
|
||||
* @return Comment
|
||||
*/
|
||||
public function setPost(\GergelyPolonkai\FrontBundle\Entity\Post $post)
|
||||
{
|
||||
$this->post = $post;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get post
|
||||
*
|
||||
* @return GergelyPolonkai\FrontBundle\Entity\Post
|
||||
*/
|
||||
public function getPost()
|
||||
{
|
||||
return $this->post;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set user
|
||||
*
|
||||
* @param GergelyPolonkai\FrontBundle\Entity\User $user
|
||||
* @return Comment
|
||||
*/
|
||||
public function setUser(\GergelyPolonkai\FrontBundle\Entity\User $user = null)
|
||||
{
|
||||
$this->user = $user;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get user
|
||||
*
|
||||
* @return GergelyPolonkai\FrontBundle\Entity\User
|
||||
*/
|
||||
public function getUser()
|
||||
{
|
||||
return $this->user;
|
||||
}
|
||||
}
|
@ -6,6 +6,11 @@ use Doctrine\ORM\Mapping as ORM;
|
||||
use Gedmo\Mapping\Annotation as GedmoORM;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
|
||||
use GergelyPolonkai\FrontBundle\Entity\Comment;
|
||||
use GergelyPolonkai\FrontBundle\Entity\User;
|
||||
|
||||
/**
|
||||
* Description of Post
|
||||
*
|
||||
@ -73,6 +78,22 @@ class Post
|
||||
*/
|
||||
private $draft;
|
||||
|
||||
/**
|
||||
*
|
||||
* @var Doctrine\Common\Collections\ArrayCollection $comments
|
||||
*
|
||||
* @ORM\OneToMany(targetEntity="Comment", mappedBy="post", fetch="LAZY")
|
||||
*/
|
||||
private $comments;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->comments = new ArrayCollection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get id
|
||||
*
|
||||
@ -122,7 +143,7 @@ class Post
|
||||
* @param GergelyPolonkai\FrontBundle\Entity\User $user
|
||||
* @return Post
|
||||
*/
|
||||
public function setUser(\GergelyPolonkai\FrontBundle\Entity\User $user)
|
||||
public function setUser(User $user)
|
||||
{
|
||||
$this->user = $user;
|
||||
|
||||
@ -191,7 +212,7 @@ class Post
|
||||
* @param \DateTime $createdAt
|
||||
* @return Post
|
||||
*/
|
||||
public function setCreatedAt($createdAt)
|
||||
public function setCreatedAt(\DateTime $createdAt)
|
||||
{
|
||||
$this->createdAt = $createdAt;
|
||||
|
||||
@ -220,4 +241,36 @@ class Post
|
||||
{
|
||||
return $this->draft;
|
||||
}
|
||||
/**
|
||||
* Add comments
|
||||
*
|
||||
* @param GergelyPolonkai\FrontBundle\Entity\Comment $comments
|
||||
* @return Post
|
||||
*/
|
||||
public function addComment(Comment $comments)
|
||||
{
|
||||
$this->comments[] = $comments;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove comments
|
||||
*
|
||||
* @param GergelyPolonkai\FrontBundle\Entity\Comment $comments
|
||||
*/
|
||||
public function removeComment(Comment $comments)
|
||||
{
|
||||
$this->comments->removeElement($comments);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get comments
|
||||
*
|
||||
* @return Doctrine\Common\Collections\Collection
|
||||
*/
|
||||
public function getComments()
|
||||
{
|
||||
return $this->comments;
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
namespace GergelyPolonkai\FrontBundle\Twig;
|
||||
|
||||
use JMS\DiExtraBundle\Annotation as DI;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
|
||||
/**
|
||||
* Description of RandomHeader
|
||||
@ -45,10 +44,12 @@ class RandomHeader extends \Twig_Extension
|
||||
$files[] = $fn;
|
||||
}
|
||||
}
|
||||
|
||||
return $files[array_rand($files)];
|
||||
}
|
||||
|
||||
public function getName() {
|
||||
public function getName()
|
||||
{
|
||||
return 'random_header';
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user