浏览代码

+ Added dependencies to model for reset calculated properties

Visman 6 年之前
父节点
当前提交
dbd0fe8535
共有 1 个文件被更改,包括 14 次插入0 次删除
  1. 14 0
      app/Models/Model.php

+ 14 - 0
app/Models/Model.php

@@ -25,6 +25,12 @@ class Model
      */
      */
     protected $aCalc = [];
     protected $aCalc = [];
 
 
+    /**
+     * Зависимости свойств
+     * @var array
+     */
+    protected $dependProp = [];
+
     /**
     /**
      * Конструктор
      * Конструктор
      *
      *
@@ -58,6 +64,10 @@ class Model
     {
     {
         unset($this->a[$name]);     //????
         unset($this->a[$name]);     //????
         unset($this->aCalc[$name]); //????
         unset($this->aCalc[$name]); //????
+
+        if (isset($this->dependProp[$name])) {
+            $this->aCalc = \array_diff_key($this->aCalc, \array_flip($this->dependProp[$name]));
+        }
     }
     }
 
 
     /**
     /**
@@ -70,6 +80,10 @@ class Model
     {
     {
         unset($this->aCalc[$name]);
         unset($this->aCalc[$name]);
 
 
+        if (isset($this->dependProp[$name])) {
+            $this->aCalc = \array_diff_key($this->aCalc, \array_flip($this->dependProp[$name]));
+        }
+
         if (\method_exists($this, $method = 'set' . $name)) {
         if (\method_exists($this, $method = 'set' . $name)) {
             $this->$method($val);
             $this->$method($val);
         } else {
         } else {