108 lines
2.1 KiB
PHP
108 lines
2.1 KiB
PHP
<?php namespace RVR\PersistentData\Model;
|
|
|
|
use DateTime;
|
|
use SokoWeb\PersistentData\Model\ModelWithSlug;
|
|
|
|
class Event extends ModelWithSlug
|
|
{
|
|
protected static string $table = 'events';
|
|
|
|
protected static array $fields = ['community_id', 'start', 'end', 'title', 'description'];
|
|
|
|
protected static array $relations = ['community' => Community::class];
|
|
|
|
protected static string $slugSource = 'title';
|
|
|
|
private ?Community $community = null;
|
|
|
|
private int $communityId;
|
|
|
|
private DateTime $start;
|
|
|
|
private DateTime $end;
|
|
|
|
private string $title = '';
|
|
|
|
private string $description = '';
|
|
|
|
public function setCommunity(Community $community): void
|
|
{
|
|
$this->community = $community;
|
|
}
|
|
|
|
public function setCommunityId(int $communityId): void
|
|
{
|
|
$this->communityId = $communityId;
|
|
}
|
|
|
|
public function setStartDate(DateTime $start): void
|
|
{
|
|
$this->start = $start;
|
|
}
|
|
|
|
public function setStart(string $start): void
|
|
{
|
|
$this->start = new DateTime($start);
|
|
}
|
|
|
|
public function setEndDate(DateTime $end): void
|
|
{
|
|
$this->end = $end;
|
|
}
|
|
|
|
public function setEnd(string $end): void
|
|
{
|
|
$this->end = new DateTime($end);
|
|
}
|
|
|
|
public function setTitle(string $title): void
|
|
{
|
|
$this->title = $title;
|
|
}
|
|
|
|
public function setDescription(string $description): void
|
|
{
|
|
$this->description = $description;
|
|
}
|
|
|
|
public function getCommunity(): ?Community
|
|
{
|
|
return $this->community;
|
|
}
|
|
|
|
public function getCommunityId(): int
|
|
{
|
|
return $this->communityId;
|
|
}
|
|
|
|
public function getStartDate(): DateTime
|
|
{
|
|
return $this->start;
|
|
}
|
|
|
|
public function getStart(): string
|
|
{
|
|
return $this->start->format('Y-m-d H:i:s');
|
|
}
|
|
|
|
public function getEndDate(): DateTime
|
|
{
|
|
return $this->end;
|
|
}
|
|
|
|
public function getEnd(): string
|
|
{
|
|
return $this->end->format('Y-m-d H:i:s');
|
|
}
|
|
|
|
public function getTitle(): string
|
|
{
|
|
return $this->title;
|
|
}
|
|
|
|
public function getDescription(): string
|
|
{
|
|
return $this->description;
|
|
}
|
|
}
|