@@ -573,7 +573,8 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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; |