|
@@ 622-632 (lines=11) @@
|
| 619 |
|
public static function db_ins_record($location_type, $set) { |
| 620 |
|
$set = trim($set); |
| 621 |
|
$table_name = static::$location_info[$location_type][P_TABLE_NAME]; |
| 622 |
|
if($result = static::db_query("INSERT INTO `{{{$table_name}}}` SET {$set}")) { |
| 623 |
|
if(static::$db->db_affected_rows()) // Обновляем данные только если ряд был затронут |
| 624 |
|
{ |
| 625 |
|
$record_id = db_insert_id(); |
| 626 |
|
// Вытаскиваем запись целиком, потому что в $set могли быть "данные по умолчанию" |
| 627 |
|
$result = static::db_get_record_by_id($location_type, $record_id); |
| 628 |
|
// Очищаем второстепенные кэши - потому что вставленная запись могла повлиять на результаты запросов или локация или еще чего |
| 629 |
|
// TODO - когда будет поддержка изменения индексов и локаций - можно будет вызывать её |
| 630 |
|
static::cache_clear($location_type, false); // Мягкий сброс - только $queries |
| 631 |
|
} |
| 632 |
|
} |
| 633 |
|
|
| 634 |
|
return $result; |
| 635 |
|
} |
|
@@ 645-655 (lines=11) @@
|
| 642 |
|
$fields = implode(',', array_keys($field_set)); |
| 643 |
|
|
| 644 |
|
$table_name = static::$location_info[$location_type][P_TABLE_NAME]; |
| 645 |
|
if($result = static::db_query("INSERT INTO `{{{$table_name}}}` ($fields) VALUES ($values);")) { |
| 646 |
|
if(static::$db->db_affected_rows()) { |
| 647 |
|
// Обновляем данные только если ряд был затронут |
| 648 |
|
$record_id = db_insert_id(); |
| 649 |
|
// Вытаскиваем запись целиком, потому что в $set могли быть "данные по умолчанию" |
| 650 |
|
$result = static::db_get_record_by_id($location_type, $record_id); |
| 651 |
|
// Очищаем второстепенные кэши - потому что вставленная запись могла повлиять на результаты запросов или локация или еще чего |
| 652 |
|
// TODO - когда будет поддержка изменения индексов и локаций - можно будет вызывать её |
| 653 |
|
static::cache_clear($location_type, false); // Мягкий сброс - только $queries |
| 654 |
|
} |
| 655 |
|
} |
| 656 |
|
|
| 657 |
|
return $result; |
| 658 |
|
} |