doctrine

doctrine QueryBuilder -- where или andWhere. Или как динамически добавлять условия в запрос

В процессе создания запросов к БД, возможно вам потребуется динамически добавлять условия where в запрос. Например, в зависимости от переданных / непереданных аргументов. В таком случае не понятно, сколько всего условий добавится в запрос, и с какого условия он будет начинаться.

Решение просто: всегда используйте метод andWhere() вместо where().

Он не добавит лишних AND в sql, но добавит нужный код.

Почему использовать where() в данном случае не получится: каждый следующий where() заменит предыдущий, а не дополнит.

doctrine migration Настройка миграций в "любом" проекте и движке.

С помощью композера устанавливаем модуль, пример конфига:

    "require": {
        "doctrine/migrations": "v1.7"
    },

Далее консольная точка входа доступна по адресу (можно вызывать из командной строки):

./vendor/bin/doctrine-migrations

Источник: https://www.doctrine-project.org/project...

doctrine -- Ошибка Duplicate definition of column "..." on entity "..." in a field or discriminator column mapping.

Ошибка

Duplicate definition of column "value" on entity "App\Entity\Comission" in a field or discriminator column mapping.

Данная ошибка появлялась у меня при попытке сгенерировать миграции по аннотациям сущности:

symfony Doctrine -- создать foreign key -- связь One To One между сущностями (внешние ключи)

Описать связь таблиц через внешний ключ можно также с помощью аннотаций к свойствам.

Простейший пример - однонаправленная связь

Однонаправленная связь Один-к-Одному (когда единственному значению одной сущности соответствует одно значение другой сущности):

symfony Doctrine -- создать primary key (первичный ключ)

Можно с помощью аннотаций свойств.

Чтобы при создании таблицы был сгенерирован автозаполняемый primary key (auto_increment в MySQL, serial в PostgreSQL), добавляем в аннотацию строку GeneratedValue:

class Articles {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue
     */
    private $id;

symfony -- как подключиться к базе данных -- конфигурация бд

Рабочие настройки подключения к БД в Симфони выглядят так:

Файл config.yml:

symfony 3 doctrine Проверяем схему базы данных -- doctrine:schema:validate

Используйте консольную команду:

php bin/console doctrine:schema:validate
Subscribe to RSS - doctrine