openvk/Web/Models/Repositories/BugtrackerComments.php

33 lines
926 B
PHP
Raw Normal View History

2022-08-20 20:30:04 +03:00
<?php declare(strict_types=1);
namespace openvk\Web\Models\Repositories;
use openvk\Web\Models\Entities\{BugReport, BugReportComment};
use Nette\Database\Table\ActiveRow;
use Chandler\Database\DatabaseConnection;
class BugtrackerComments
{
private $context;
private $comments;
function __construct()
{
$this->context = DatabaseConnection::i()->getContext();
$this->comments = $this->context->table("bt_comments");
}
private function toComment(?ActiveRow $ar)
{
return is_null($ar) ? NULL : new BugReportComment($ar);
}
function get(int $id): ?BugReportComment
{
return $this->toComment($this->comments->get($id));
}
function getByReport(?BugReport $report): \Traversable
{
foreach($this->comments->where(["report" => $report->getId()])->order("id ASC") as $comment)
yield new BugReportComment($comment);
}
}