<?php
namespace App\Entity;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Timestampable\Traits\TimestampableEntity;
/**
* To use in many templates
*
* @ORM\Entity
* @ORM\Entity(repositoryClass="App\Repository\QuickLinkRepository")
* @ORM\HasLifecycleCallbacks()
*
*/
class QuickLink implements EntityInterface
{
use TimestampableEntity;
use BlameableEntity;
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @var string
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* @var string
* @ORM\Column(name="description", type="string", length=255, nullable=true)
*/
private $description;
/**
* @var string
* @ORM\Column(name="url", type="string", length=255, nullable=true)
*/
private $url;
/**
* @var DateTime
*
* @ORM\Column(name="date", type="datetime", nullable=false)
*/
private $date;
/**
* @var Event|null
* @ORM\ManyToOne(targetEntity="App\Entity\Event", inversedBy="quickLinks")
*/
private $event;
/**
* @var WorldFeed|null
* @ORM\ManyToOne(targetEntity="App\Entity\WorldFeed", inversedBy="links")
*/
private $worldFeed;
public function __toString()
{
return (string)$this->getTitle();
}
/**
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* @param string $title
*/
public function setTitle(?string $title)
{
$this->title = $title == null ? '' : $title;
}
/**
* @ORM\PreUpdate()
* @ORM\PrePersist()
*/
public function preUpdate()
{
$this->setDate(new DateTime('now'));
}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
*/
public function setId(int $id)
{
$this->id = $id;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* @param string $description
*/
public function setDescription(string $description = null)
{
$this->description = $description;
}
/**
* @return DateTime
*/
public function getDate(): DateTime
{
return $this->date;
}
/**
* @param DateTime $date
*/
public function setDate(DateTime $date)
{
$this->date = $date;
}
/**
* Get event
*
* @return Event
*/
public function getEvent()
{
return $this->event;
}
/**
* Set event
*
* @param Event $event
*
* @return QuickLink
*/
public function setEvent(Event $event = null)
{
$this->event = $event;
return $this;
}
/**
* @return Event|null
*/
public function getWorldFeed(): ?WorldFeed
{
return $this->worldFeed;
}
/**
* @param WorldFeed|null $worldFeed
*/
public function setWorldFeed(?WorldFeed $worldFeed): void
{
$this->worldFeed = $worldFeed;
}
public function toString(): string
{
return $this->getUrl();
}
/**
* Get url
*
* @return string
*/
public function getUrl()
{
return $this->url;
}
/**
* Set url
*
* @param string $url
*
* @return QuickLink
*/
public function setUrl($url)
{
$this->url = $url;
return $this;
}
}