Ищу max(checking_index) по таблице. У текущего кастомного объекта в загашнике нашелся $em
use App\Entity\Result;
private function getCurrentIndex() : int {
$qb = $this->em->createQueryBuilder();
$ret = $qb->select('MAX(checking_index)')
->from('results', 'r')
->getQuery()
->getOneOrNullResult();
return (int)$ret;
}
Класс Result
#[ORM\Entity(repositoryClass: ResultRepository::class)]
#[Table(name: "results")]
class Result
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 20)]
private ?string $status = null;
#[ORM\ManyToOne(inversedBy: 'results', targetEntity: Site::class)]
#[ORM\JoinColumn(nullable: false, name: "site_id", referencedColumnName: "site_id")]
private ?Site $site = null;
#[ORM\ManyToOne(inversedBy: 'results')]
#[ORM\JoinColumn(nullable: false, name: "checker_id", referencedColumnName: "checker_id")]
private ?Checker $checker = null;
#[ORM\Column]
private ?int $checking_index = null;
#[ORM\Column]
private ?\DateTimeImmutable $createdAt = null;
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 20)]
private ?string $status = null;
#[ORM\ManyToOne(inversedBy: 'results', targetEntity: Site::class)]
#[ORM\JoinColumn(nullable: false, name: "site_id", referencedColumnName: "site_id")]
private ?Site $site = null;
#[ORM\ManyToOne(inversedBy: 'results')]
#[ORM\JoinColumn(nullable: false, name: "checker_id", referencedColumnName: "checker_id")]
private ?Checker $checker = null;
#[ORM\Column]
private ?int $checking_index = null;
#[ORM\Column]
private ?\DateTimeImmutable $createdAt = null;
// getters.. setters..
Почему то выдает
In QueryException.php line 43:
[Semantical Error] line 0, col 32 near 'results r': Error: Class 'results' is not defined.
In QueryException.php line 21:
SELECT MAX(checking_index) FROM results r
Выдает на последнюю клаузу, если ее убрать - ошибка конвертации в следующей строке. Замена на getResult не помогает - та же ошибка. Надо заметить, что таблица пока пустая.
Добавлено
передача имени класса в form:
->from('Result', 'r')
приводит к такой ошибке. Что характерно - доктрина печатает sql запрос с переданным параметром, считая его именем таблицы.
Пробовал переименовть таблицу в result и соответственно изменить аттрибут - ошибка та же.