Доктрина - возвращать результаты с определенным типом

В моей БД у меня есть данные, которые я определил по полю "тип", например:

const TYPE_ONE = 'one';
const TYPE_TYPE = 'two';

Я хочу вернуть все результаты, в которых я определил значение «типа», заданное этими двумя константами, а не всеми из них. (например, тип (NULL)).

Кажется, оператор ИЛИ не поддерживается.

Мой код:

return $this->getMyEntityRepository()->findBy([
            'type' => MyEntity::TYPE_ONE || MyEntity::TYPE_TWO
        ]);
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

OR оператор поддерживается, но в доктрине вы должны создать метод в своем репозитории для таких запросов.

Репозиторий:

class MyEntityRepository extends ServiceEntityRepository
{
    public function findByType()
    {
        return $this->createQueryBuilder('r')
            ->andWhere('r.type IN (:types)')
            ->setParameter('types', [MyEntity::TYPE_ONE, MyEntity::TYPE_TWO])
            ->getQuery()
            ->getResult()
        ;
    }
}

Контроллер:

return $this->getMyEntityRepository()->findByType();

Также вы можете указать параметр для типов, которые нужно искать.

Другие вопросы по теме