|
@@ -8,6 +8,7 @@ use App\Models\StatTree;
|
|
|
use App\Models\StatTreeLine;
|
|
|
use App\Models\Client;
|
|
|
use App\Models\Pro;
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
class StatTreeLineController extends Controller
|
|
|
{
|
|
@@ -43,7 +44,7 @@ class StatTreeLineController extends Controller
|
|
|
foreach ($lines as $line) {
|
|
|
$query = $this->applyStatTreeLineQueryClauses($line);
|
|
|
if ($query) {
|
|
|
- $line->last_refresh_count = $query->count();
|
|
|
+ $line->last_refresh_count = $query[0]->count;
|
|
|
$line->save();
|
|
|
}
|
|
|
}
|
|
@@ -58,10 +59,9 @@ class StatTreeLineController extends Controller
|
|
|
|
|
|
$statTreeLine = StatTreeLine::where('id', $statTreeLineID)->first();
|
|
|
if (!$statTreeLine) return $this->fail('Invalid stat tree line!');
|
|
|
-
|
|
|
- $query = $this->applyStatTreeLineQueryClauses($statTreeLine);
|
|
|
+ $query = $this->applyStatTreeLineQueryClauses($statTreeLine);
|
|
|
if ($query) {
|
|
|
- $statTreeLine->last_refresh_count = $query->count();
|
|
|
+ $statTreeLine->last_refresh_count = $query[0]->count;
|
|
|
$statTreeLine->save();
|
|
|
return $this->pass($statTreeLine->last_refresh_count);
|
|
|
}else{
|
|
@@ -73,14 +73,17 @@ class StatTreeLineController extends Controller
|
|
|
{
|
|
|
|
|
|
$model = $statTreeLine->statTree->model;
|
|
|
- $query = null;
|
|
|
- if (strcasecmp($model, 'client') == 0) {
|
|
|
- $query = Client::query();
|
|
|
- }
|
|
|
- if (strcasecmp($model, 'pro') == 0) {
|
|
|
- $query = Pro::query();
|
|
|
- }
|
|
|
- if (!$query) return null;
|
|
|
+ // $query = null;
|
|
|
+ // if (strcasecmp($model, 'client') == 0) {
|
|
|
+ // $query = Client::query();
|
|
|
+ // }
|
|
|
+ // if (strcasecmp($model, 'pro') == 0) {
|
|
|
+ // $query = Pro::query();
|
|
|
+ // }
|
|
|
+ // if (!$query) return null;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
$clauses = [];
|
|
|
foreach ($statTreeLine->lineClauses as $lineClause) {
|
|
@@ -91,12 +94,9 @@ class StatTreeLineController extends Controller
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- foreach ($clauses as $clause) {
|
|
|
- $clauseQuery = $clause;
|
|
|
- $query = $query->whereRaw($clauseQuery);
|
|
|
- }
|
|
|
-
|
|
|
- return $query;
|
|
|
+ $query = 'SELECT COUNT(*) FROM '.$model.' WHERE '. implode(" AND ", $clauses);
|
|
|
+
|
|
|
+ return DB::select($query);
|
|
|
}
|
|
|
|
|
|
protected function cleanupClause($clauseText)
|