Инструменты пользователя

Инструменты сайта


limb3:ru:packages:dbal:lmb_update_query

lmbUpdateQuery

lmbUpdateQuery - класс, инкапсулирующий запросы по обновлению записей таблицы базы данных. Потомок от lmbCriteriaQuery. Принимает в конструкторе название таблицы, записи в которой нужно обновить.

Список всех меток расширения:

  • %fields% - для вставки полей и значений этих полей.
  • %where% - для вставки условий.

Для заполнения %fields% есть методы:

  • addField($field, $value).
  • field($field, $value) - алиас для addField()
  • addRawField($field).
  • rawField($field) - алиас для addRawField()

Для заполнения %where% есть методы:

  • addCriteria($criteria)
  • where($criteria) - алиас для addCriteria($criteria)

Ниже дан пример использования lmbUpdateQuery:

 $query = new lmbUpdateQuery('news');
 $query->addField('date', $request->get('date'));
 $query->addField('content', $request->get('content'));
 $query->addField('title', $request->get('title'));
 $query->addRawField('changed_times = changed_times + 1');
 $query->addCriteria(new lmbSQLFieldCriteria('id', $id));
 
 $conn = lmbToolkit :: instance()->getDbConnection();
 $stmt = $query->getStatement($conn);
 $stmt->execute();

или короче:

 $query = lmbDBAL :: updateQuery('news');
 $query->field('date', $request->get('date'))->field('content', $request->get('content'))->field('title', $request->get('title')); 
 $query->rawField('changed_times = changed_times + 1');
 $query->where(''id = '. (int) $id'); 
 $query->execute();

см. также Использование классов из подсистем Query и Criteria

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   __  ___   ___   ____   _____   ___ 
  /  |/  /  / _ \ / __ \ / ___/  / _ |
 / /|_/ /  / ___// /_/ // (_ /  / __ |
/_/  /_/  /_/    \___\_\\___/  /_/ |_|
 
limb3/ru/packages/dbal/lmb_update_query.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)