public static function updateStatement($tableName, $data, $assocPkValue, $db = null)
 {
     if ($db == null) {
         $db = self::$_db;
     }
     $sets = self::setsStatement($tableName, $data, $db);
     $where = Lms_Item_Sql::combineToAnd($assocPkValue);
     $query = "UPDATE {$tableName} SET {$sets} WHERE {$where} LIMIT 1";
     return $query;
 }
 /**
  * Sets master database and optionaly slave database 
  *
  * @param DbSimple_Generic_Database $masterDb
  * @param DbSimple_Generic_Database $slaveDb
  */
 public static function setDb(DbSimple_Generic_Database $masterDb, DbSimple_Generic_Database $slaveDb = null, $itemNames = 'default')
 {
     if (is_array($itemNames)) {
         foreach ($itemNames as $itemName) {
             $itemName = strtolower($itemName);
             self::$_masterDb[$itemName] = $masterDb;
             self::$_slaveDb[$itemName] = $slaveDb == null ? $masterDb : $slaveDb;
         }
     } else {
         $itemName = strtolower($itemNames);
         self::$_masterDb[$itemName] = $masterDb;
         self::$_slaveDb[$itemName] = $slaveDb == null ? $masterDb : $slaveDb;
     }
     Lms_Item_Sql::setDb($masterDb);
 }
 /**
  * Удаляет запись из БД и Store
  * @return $this
  */
 public final function delete()
 {
     $this->_preDelete();
     $query = Lms_Item_Sql::deleteStatement($this->getTableName(), $this->_getAssocPkValue());
     $this->_masterDb->query($query);
     Lms_Item_Store::delete($this->getTableName(), $this->_scalarPkValue);
     $this->_postDelete();
     return $this;
 }