|
@@ -573,7 +573,8 @@ discard block |
|
|
block discarded – undo |
|
573
|
573
|
$location_info = &static::$location_info[$location_type]; |
|
574
|
574
|
$id_field = $location_info[P_ID]; |
|
575
|
575
|
$table_name = $location_info[P_TABLE_NAME]; |
|
576
|
|
- if($result = static::db_query($q = "UPDATE {{{$table_name}}} SET {$set} WHERE `{$id_field}` = {$record_id}")) // TODO Как-то вернуть может быть LIMIT 1 ? |
|
|
576
|
+ if($result = static::db_query($q = "UPDATE {{{$table_name}}} SET {$set} WHERE `{$id_field}` = {$record_id}")) { |
|
|
577
|
+ // TODO Как-то вернуть может быть LIMIT 1 ? |
|
577
|
578
|
{ |
|
578
|
579
|
if(static::$db->db_affected_rows()) { |
|
579
|
580
|
// Обновляем данные только если ряд был затронут |
|
@@ -581,6 +582,7 @@ discard block |
|
|
block discarded – undo |
|
581
|
582
|
|
|
582
|
583
|
// Тут именно так, а не cache_unset - что бы в кэшах автоматически обновилась запись. Будет нужно на будущее |
|
583
|
584
|
static::$data[$location_type][$record_id] = null; |
|
|
585
|
+ } |
|
584
|
586
|
// Вытаскиваем обновленную запись |
|
585
|
587
|
static::db_get_record_by_id($location_type, $record_id); |
|
586
|
588
|
static::cache_clear($location_type, false); // Мягкий сброс - только $queries |
|
@@ -622,9 +624,11 @@ discard block |
|
|
block discarded – undo |
|
622
|
624
|
$set = trim($set); |
|
623
|
625
|
$table_name = static::$location_info[$location_type][P_TABLE_NAME]; |
|
624
|
626
|
if($result = static::db_query("INSERT INTO `{{{$table_name}}}` SET {$set}")) { |
|
625
|
|
- if(static::$db->db_affected_rows()) // Обновляем данные только если ряд был затронут |
|
|
627
|
+ if(static::$db->db_affected_rows()) { |
|
|
628
|
+ // Обновляем данные только если ряд был затронут |
|
626
|
629
|
{ |
|
627
|
630
|
$record_id = db_insert_id(); |
|
|
631
|
+ } |
|
628
|
632
|
// Вытаскиваем запись целиком, потому что в $set могли быть "данные по умолчанию" |
|
629
|
633
|
$result = static::db_get_record_by_id($location_type, $record_id); |
|
630
|
634
|
// Очищаем второстепенные кэши - потому что вставленная запись могла повлиять на результаты запросов или локация или еще чего |
|
@@ -669,10 +673,12 @@ discard block |
|
|
block discarded – undo |
|
669
|
673
|
$id_field = $location_info[P_ID]; |
|
670
|
674
|
$table_name = $location_info[P_TABLE_NAME]; |
|
671
|
675
|
if($result = static::db_query("DELETE FROM `{{{$table_name}}}` WHERE `{$id_field}` = {$safe_record_id}")) { |
|
672
|
|
- if(static::$db->db_affected_rows()) // Обновляем данные только если ряд был затронут |
|
|
676
|
+ if(static::$db->db_affected_rows()) { |
|
|
677
|
+ // Обновляем данные только если ряд был затронут |
|
673
|
678
|
{ |
|
674
|
679
|
static::cache_unset($location_type, $safe_record_id); |
|
675
|
680
|
} |
|
|
681
|
+ } |
|
676
|
682
|
} |
|
677
|
683
|
|
|
678
|
684
|
return $result; |
|
@@ -689,12 +695,14 @@ discard block |
|
|
block discarded – undo |
|
689
|
695
|
//static::db_get_record_list($location_type, $condition, false, true); |
|
690
|
696
|
|
|
691
|
697
|
if($result = static::db_query("DELETE FROM `{{{$table_name}}}` WHERE {$condition}")) { |
|
692
|
|
- if(static::$db->db_affected_rows()) // Обновляем данные только если ряд был затронут |
|
|
698
|
+ if(static::$db->db_affected_rows()) { |
|
|
699
|
+ // Обновляем данные только если ряд был затронут |
|
693
|
700
|
{ |
|
694
|
701
|
// Обнуление кэша, потому что непонятно, что поменялось |
|
695
|
702
|
// TODO - когда будет структурированный $condition можно будет делать только cache_unset по нужным записям |
|
696
|
703
|
static::cache_clear($location_type); |
|
697
|
704
|
} |
|
|
705
|
+ } |
|
698
|
706
|
} |
|
699
|
707
|
|
|
700
|
708
|
return $result; |