ソースを参照

Stat tree edit (wip)

Vijayakrishnan 3 年 前
コミット
1b3696c71e
1 ファイル変更19 行追加0 行削除
  1. 19 0
      app/Http/Controllers/StatTreeLineController.php

+ 19 - 0
app/Http/Controllers/StatTreeLineController.php

@@ -158,6 +158,25 @@ class StatTreeLineController extends Controller
         $clauses = [];
         foreach ($statTreeLine->lineClauses as $lineClause) {
             $clauseText = $lineClause->clause->clause_text;
+
+            // apply arg values
+            foreach ($lineClause->clause->clauseArgs as $clauseArg) {
+
+                $value = null;
+                foreach ($lineClause->statTreeLineClauseArgs as $lineClauseArg) {
+                    if($lineClauseArg->clause_arg_id === $clauseArg->id) {
+                        $value = $lineClauseArg->default_value;
+                    }
+                }
+
+                if(!is_null($value)) {
+                    $clauseText = str_replace(
+                        ':' . $clauseArg->arg_text,                         // search for :xxx
+                        "'" . $value . "'::" . $clauseArg->field_type,      // replace with '$value'::$field_type
+                        $clauseText);
+                }
+            }
+
             $isValid = $this->cleanupClause($clauseText);
             if ($isValid) {
                 array_push($clauses, $clauseText);