Класс lmbDBAL - это фасад для DBAL пакета. При помощи него гораздо эффективнее выполнять запросы к базе данных, чем используя классы драйвера напрямую.
Самыми базовыми методами класса lmbDBAL можно назвать:
$conn - это объект подключения. Если этот параметр опущен - lmbDBAL будет использовать объект подключения по-умолчанию. См. страницу "Подключение к базе данных".
Например:
$record_set = lmbDBAL :: fetch('SELECT * FROM article WHERE author_id = '. (int)$author_id); lmbDBAL :: execute('DELETE * FROM article WHERE author_id = '. (int)$author_id);
lmbDBAL содержит также 2 фабричных метода, которые могут быть весьма полезны при выполнении простых запросов:
Например:
lmbDBAL :: db()->insert('user', array('login' => 'vasa', 'password' => 'secret')); $db = lmbDBAL :: db(); $db->begin(); $db->update('user', array('password' => 'other_secret'), 'login = ' . $db->quote($name)); $db->commit(); lmbDBAL :: table('user')->insert(array('login' => 'vasa', 'password' => 'secret'));
lmbDBAL содержит набор фабричных методов, для создания объектов из подсистемы Query:
Пример1:
$query = lmbDBAL :: selectQuery('news'); // создали объект класса lmbSelectQuery $query->addCriteria(lmbSQLCriteria :: between('date', $date_start, $date_end)); // Применили условие $rs = $query->fetch(); // Создали объект record_set, поддерживающий интерфейс lmbDbRecordSet
Пример2:
$query = lmbDBAL :: deleteQuery('article'); // создали объект класса lmbDeleteQuery $query->addCriteria('is_approved = 0'); // Применили условие $query->execute(); // Выполнили запрос
Обсуждение