limb3_2007_3:ru:packages:dbal:lmb_table_gateway
Содержание
lmbTableGateway
lmbTableGateway - класс, инкапсулирующий работу с одной таблицей базы данных.
lmbTableGateway содержит 3защищенных метода, которые можно перекрывать в дочерних классах для определения деталей таблицы:
- _defineDbTableName() - позволяет указать название таблицы. Если этот метод не перекрыт, то lmbTableGateway отрезает часть DbTable от названия класса (например, CatalogDbTable) и использует первую часть в качестве названия таблицы.
- _definePrimaryKeyName() - позволяет указать имя поля с первичным ключом. По-умолчанию равен 'id'.
- _defineConstraints() - позволяет описать связи данной таблицы с другими таблицами. Используется при каскадном удалении. Полезно использовать с ранними версиями MySQL, где не поддерживается каскадное удаление.
Список полей таблицы lmbTableGateway получает автоматически.
Определение связанных таблиц (Constraints)
Метод _defineConstraints() возвращает массив вида «имя поля» ⇒ «массив связей». «массив связей» имеет такую структуру array(«table_name» ⇒ «название таблицы», «field» ⇒ «название поля»).
Пример ниже.
Пример lmbTableGateway
require_once(LPKG_CORE_DIR . '/core/db/lmbTableGateway.class.php'); class PlayerDbTable extends lmbTableGateway { function _defineDbTableName() { return 'player'; } function _defineConstraints() { return array( 'id' => array( 0 => array( 'table_name' => 'contract', 'field' => 'player_id', ), ), ); } }
Использование lmbTableGateway
Список часто используемых методов:
- insert(array $row) - добавляет запись в таблицу.
- updateById(int $id, array $row) - обновляет запись в таблице с указанным идентификатором.
- update(array $row, lmbSqlCriteria $сriteria) - обновляет записи в таблице, удовлетворяющие услови. Условия определяются так же, как и для удаления.
- deleteById(int $id) - удаляет запись из таблицы с указанным идентификатором.
- delete(lmbSqlCriteria $criteria) - удаляет записи из таблицы по условию. Условие здесь - это объект из подсистемы Criteria.
- selectRecordById(int $id) - возвращает запись из таблицы с указанным идентификатором. Запись - это объект, поддерживающий интерфейс DataSource.
- select(lmbSqlCriteria $criteria) - вовзращает записи из таблицы, удовлетворяющие условию. Условие здесь - это объект из подсистемы Criteria.
limb3_2007_3/ru/packages/dbal/lmb_table_gateway.txt · Последнее изменение: 2010/11/10 10:02 — 127.0.0.1

Обсуждение