RVRNEXT-11 add model and repository for events
This commit is contained in:
2 files changed
+196
No files matched your search
@@ -0,0 +1,107 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user