Как определить константы для Entity? У меня в проекте определен doctrine entity classuse Doctrine\ORM\Mapping as ORM;
/**
* Filter
*
* @ORM\Table(name="")
* @ORM\Entity
*/
class Filter
{
одно из полей целочисленое как мне определить константы чтоб задавать в коде
$filter->field = Filter::TYPE_BLA
эти константы можно в самом классе энтити определить или для этого делается отдельный класс?
после, когда я делаю фетч и выбираю все строки из БД чтоб вернуть это дело через АПИ, наш АПИ имеет такую штуку... :
class: некий класс
tags:
- { name: ezpublish_rest.output.value_object_visitor, type: здесь нужно указать какого типа класс }
но у меня из БД приходит массив поэтому мне пришлось создать еще один псефдоклассclass Collection {
public $items;
}
пихать в итемс результаты из БД и возвращать его
не нравится мне этот пустой класс, может предложите более красивое решение?

21 Авг 2019 в 07:05
235 +1
0
Ответы
1

Чтобы определить константы для Entity в Doctrine, вы можете определить их в самом классе Entity. Например, вы можете добавить константы напрямую в ваш класс Filter:

/**
* Filter
*
* @ORM\Table(name="")
* @ORM\Entity
*/
class Filter
{
const TYPE_BLA = 1;
const TYPE_FOO = 2;
// Другие константы здесь
// Остальной код сущности здесь
}

Затем вы сможете использовать эти константы в вашем коде, как вы указали:

$filter->field = Filter::TYPE_BLA;

Относительно класса Collection, который вы создали для обработки данных из БД и возвращения их через АПИ, можно предложить другой подход. Вместо создания псевдокласса Collection, который имеет только одно свойство items, вы можете возвращать просто массив результатов из вашего фетча. Например:

$data = []; // Результат из базы данных
return $data;

Это обычно более удобный и простой способ вернуть данные из БД через API, чем создавать дополнительный псевдокласс. Также удостоверьтесь, что ваш API может обрабатывать массивы данных вместо объектов, если это необходимо.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 96 157 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир