@@ -314,6 +314,9 @@ discard block |
||
| 314 | 314 | return $result; |
| 315 | 315 | } |
| 316 | 316 | |
| 317 | + /** |
|
| 318 | + * @param integer $location_type |
|
| 319 | + */ |
|
| 317 | 320 | public static function db_ins_field_set($location_type, $field_set, $serialize = false) { |
| 318 | 321 | // TODO multiinsert |
| 319 | 322 | !sn_db_field_set_is_safe($field_set) ? $field_set = sn_db_field_set_make_safe($field_set, $serialize) : false; |
@@ -350,7 +353,7 @@ discard block |
||
| 350 | 353 | /** |
| 351 | 354 | * Блокирует указанные таблицу/список таблиц |
| 352 | 355 | * |
| 353 | - * @param string|array $tables Таблица/список таблиц для блокировки. Названия таблиц - без префиксов |
|
| 356 | + * @param string $tables Таблица/список таблиц для блокировки. Названия таблиц - без префиксов |
|
| 354 | 357 | * <p>string - название таблицы для блокировки</p> |
| 355 | 358 | * <p>array - массив, где ключ - имя таблицы, а значение - условия блокировки элементов</p> |
| 356 | 359 | */ |
@@ -300,9 +300,11 @@ |
||
| 300 | 300 | $set = trim($set); |
| 301 | 301 | $table_name = static::$location_info[$location_type][P_TABLE_NAME]; |
| 302 | 302 | if ($result = classSupernova::$db->doInsert("INSERT INTO `{{{$table_name}}}` SET {$set}")) { |
| 303 | - if (classSupernova::$db->db_affected_rows()) // Обновляем данные только если ряд был затронут |
|
| 303 | + if (classSupernova::$db->db_affected_rows()) { |
|
| 304 | + // Обновляем данные только если ряд был затронут |
|
| 304 | 305 | { |
| 305 | 306 | $record_id = classSupernova::$db->db_insert_id(); |
| 307 | + } |
|
| 306 | 308 | // Вытаскиваем запись целиком, потому что в $set могли быть "данные по умолчанию" |
| 307 | 309 | $result = static::db_get_record_by_id($location_type, $record_id); |
| 308 | 310 | // Очищаем второстепенные кэши - потому что вставленная запись могла повлиять на результаты запросов или локация или еще чего |