$entryData->issueId, 'issue_galley_id' => $entryData->issueGalleyId, ] ); } /** * Load usage for issue (TOC and galleys views) */ public function compileIssueMetrics(string $loadId): void { $date = DateTimeImmutable::createFromFormat('Ymd', substr($loadId, -12, 8)); DB::table('metrics_issue')->where('load_id', '=', $loadId)->orWhereDate('date', '=', $date)->delete(); $selectIssueMetrics = DB::table($this->table) ->select(DB::raw('load_id, context_id, issue_id, DATE(date) as date, count(*) as metric')) ->where('load_id', '=', $loadId) ->where('assoc_type', '=', Application::ASSOC_TYPE_ISSUE) ->groupBy(DB::raw('load_id, context_id, issue_id, DATE(date)')); DB::table('metrics_issue')->insertUsing(['load_id', 'context_id', 'issue_id', 'date', 'metric'], $selectIssueMetrics); $selectIssueGalleyMetrics = DB::table($this->table) ->select(DB::raw('load_id, context_id, issue_id, issue_galley_id, DATE(date) as date, count(*) as metric')) ->where('load_id', '=', $loadId) ->where('assoc_type', '=', Application::ASSOC_TYPE_ISSUE_GALLEY) ->groupBy(DB::raw('load_id, context_id, issue_id, issue_galley_id, DATE(date)')); DB::table('metrics_issue')->insertUsing(['load_id', 'context_id', 'issue_id', 'issue_galley_id', 'date', 'metric'], $selectIssueGalleyMetrics); } }