Удаление записей в Yii2 при помощи метода deleteAll и условии not in выглядит не очень очевидным и столкнувшись с этой задачей, решил написать короткую заметку с примером реализации. Секрет в том, что условие надо задавать в виде массива. Приведу пример: Этот пример сгенерирует следующий запрос (при входящих данных, например $id…

Необходимость получения id только что вставленной записи — постоянная задача. Сейчас покажу, как работая с PDO b php получить это значение после INSERT-a. Все, как мы знаем очень просто: Рассмотрим пример: Здесь все типично — подготавливаем запрос, выполняем его и средствами PDO получаем послений вставленный ID. Также Вам может понадобиться…

Работа с данными в формате ключ-значение — другими словами с ассоциативными массивами очень удобна. Сейчас приведу просто пример как заставить PDO вернуть записи БД сразу в формате ключ-значение. Это полезно, когда Вам нужно получить, например id и название записи. При этом формат по умолчанию, мягко говоря не удобен при необходимости…

PostgreSQL позволяет реализовать механизм партиционирования на очень нативном уровне — но при этом запрос к родительской таблице имеет отношение и ко всем дочерним таблицам. Таким образом стает проблематично удалить или получить данные только из родительской таблицы. В этой статье я расскажу. Как очень просто решить поставленную проблему. Для начала напомню,…

Создание регулярных бекапов — залог Вашего спокойного сна. Сегодня я покажу, как сделать бекап базы данных всего в одну строку php-кода. Будем использовать php-функцию shell, а также утилиту mysqldump. Код будет иметь примерно следующий вид: Конечно же, значение имени, пароля, хоста и имени Базы Данных нужно изменить на соответствующие Вашим…

PDO кроет множество полезных и интересных особенностей, способных существенно облегчить жизнь во множестве типичных задач. Например, есть возможность вернуть парный, проиндексированный результат выборки. К примеру, мы имеем следующие данные: Для того, чтобы получить результат в виде $date => $price нужно выполнить следующий несложный запрос: В результате мы получим массив, индексами…

Типичной задачей в области работы с базами данных, в т.ч. Postgres, является получения списка таблиц базы данных, а также их колонок. Для этого нужно обратиться к служебным таблицам и выполнить следующие запросы:

Сегодня стала очень простая задача для которой, как оказалось нет нативного решения в коробке Yii2. Но, ничего страшного и вариант, как получить название базы данных в Yii2 был найден на просторах Сети. Всего-то навсего следует написать вот такую функцию: Вызов, в общем случае, будет выглядеть примерно так: Как Вы понимаете…

Для выполнения запросов между различными БД в postgres необходимо установить библиотеку dblink (contrib). Для этого необходимо выполнить несколько простых шагов: 1) Устанавливаем расширение 2) Далее в Navicat, pgAdmin или другом Вашем интерфейсе:

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