Статьи из рубрики «kohana» RSS

Статьи, посвящённые MVC-фреймворку Kohana

Исправление ошибки в INSERT INTO … SELECT в Kohana 3 при использовании конфигурации базы данных, отличной от default

Ситуация: нужно выполнить запрос вида

[-]
View Code SQL
INSERT INTO `table` (`col1`, `col2`) SELECT * FROM `table` WHERE `col1` <> 0;

Если использовать конфигурацию default, то всё отлично работает. Если же использовать другую конфигурацию, то можем получить ошибку соединения с базой данных и исключение. Далее »

Автор: , опубликовано в: Kohana, комментариев: нет
12
Авг
2010

Поддержка JOIN в запросах DELETE для Kohana 3

Иногда бывает полезно выполнить удаление записей в нескольких связанных таблицах, благо синтаксис позволяет. Разумеется, есть такая вещь как каскадное удаление записей, но в случае с (а именно — таблицами MyISAM) на неё надеяться не приходится.

Модуль Database из 3 не умеет использовать JOIN с операцией DELETE. Нужно ему помочь. Далее »

Автор: , опубликовано в: Kohana, комментариев: нет
11
Авг
2010

Патч для кэширования пустых результатов запросов в Kohana

Проблема: (3.0.7, возможно, ранние версии) не может брать результаты запросов из кэша, если запрос вернул пустой результат.

Решение проблемы. Далее »

Автор: , опубликовано в: Kohana, комментариев: 1
11
Авг
2010

Ошибка в ORM Kohana 3 при использовании префиксов таблиц

Ситуация: имеем две таблицы: пользователи и подписки:

[-]
View Code MySQL
CREATE TABLE prefix_users (
    id INTEGER NOT NULL PRIMARY KEY,
    name VARCHAR(255) NOT NULL
);

CREATE TABLE prefix_subscriptions (
    id INTEGER NOT NULL PRIMARY KEY,
    user_id INTEGER UNSIGNED NOT NULL,
    some_data TEXT NOT NULL
);

Один пользователь может иметь несколько подписок, одна подписка может принадлежать только одному пользователю. Далее »

Автор: , опубликовано в: Kohana, комментариев: 6
19
Фев
2010

SQLMon для Kohana 3

Продолжая славную традицию реализации под различные CMS/фреймворки, написал одному заказчику модуль для 3.

SQLMon для интегрируется в иерархию классов Database (встраивается между классами Database_ и Kohana_Database_MySQL) и реализует обёртку над методом Kohana_Database_MySQL::query(), измеряя время выполнения запроса, объём потребляемой памяти, записывая код ошибки запроса, трассу вызовов и EXPLAIN запроса (причём не только для SELECT, но и UPDATE/DELETE и INSERT/REPLACE INTOAS или CREATE  TABLEAS) — всё то же самое, что и SQLMon для WordPress. Далее »

Автор: , опубликовано в: Kohana, комментариев: 4
9
Фев
2010