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

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

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

25

Май

Mysql. РЕШЕНО. Table storage engine for doesn’t have this option on order by query.

При выполнении, например, импорта дампа MySQL можно столкнуться с неприятной ошибкой — Table storage engine for doesn’t have this option on order by query. О том, как её решить речь пойдет в этой статье. Возможной причиной появления ошибки является переключение для созданной таблицы её типа с MyISAM на InnoDB. Но,…

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

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

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

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

Есть ситуации, когда в зависимости от определенных условий в блоке SELECT в запросе нужно возвращать определенные поля или же под один алиас возвращать разные значения. Как это сделать и в каких ситуациях это решает проблему я покажу в этой статье. Ситуация из реальной практики — в БД хранится цена и…

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