Esempio n. 1
0
 public static function updateValues(array $attributes, array &$values = [], $type, $fields)
 {
     $object_id = $attributes[$fields[config("constants.keyField")]];
     $values = static::updateDependenceFields($object_id, $values);
     if (array_key_exists(config("constants.extraFields"), $fields)) {
         $occur_date = $attributes["OCCUR_DATE"];
         $extraFields = $fields[config("constants.extraFields")];
         $sourceFields = array_keys($extraFields);
         // 			\DB::enableQueryLog();
         $yesterdayRecord = static::where('OCCUR_DATE', '=', $occur_date->copy()->subDay())->where(static::$idField, '=', $object_id)->select($sourceFields)->first();
         // 			\Log::info(\DB::getQueryLog());
         if ($yesterdayRecord != null) {
             foreach ($extraFields as $sourceField => $targetField) {
                 if ($yesterdayRecord->{$sourceField} > 0 || $yesterdayRecord->{$sourceField} === 0) {
                     $values[$targetField] = $yesterdayRecord->{$sourceField};
                 }
             }
         }
     }
     if (array_key_exists(config("constants.mainFields"), $fields)) {
         $mainFields = $fields[config("constants.mainFields")];
         $mainFields[config("constants.keyField")] = $fields[config("constants.keyField")];
         parent::updateValues($attributes, $values, $type, $mainFields);
     }
 }