[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
jurnal-kesmas
/
v1
/
lib
/
pkp
/
classes
/
statistics
/
[
Home
]
File: TemporaryInstitutionsDAO.php
<?php /** * @file classes/statistics/TemporaryInstitutionsDAO.php * * Copyright (c) 2022 Simon Fraser University * Copyright (c) 2022 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class TemporaryInstitutionsDAO * * @ingroup statistics * * @brief Operations for retrieving and adding the normalized data for institutions usage stats temporary records. */ namespace PKP\statistics; use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; class TemporaryInstitutionsDAO { /** The name of the table */ public string $table = 'usage_stats_institution_temporary_records'; /** * Insert the institution ids to normalize the data in temporary tables. */ public function insert(array $institutionIds, int $lineNumber, string $loadId): void { foreach ($institutionIds as $institutionId) { DB::table($this->table)->insert([ 'load_id' => $loadId, 'line_number' => $lineNumber, 'institution_id' => $institutionId ]); } } /** * Delete all records associated * with the passed load id. */ public function deleteByLoadId(string $loadId): void { DB::table($this->table)->where('load_id', '=', $loadId)->delete(); } /** * Retrieve all distinct institution IDs for the given load id. */ public function getInstitutionIdsByLoadId(string $loadId): Collection { $institutionIds = DB::table($this->table) ->select('institution_id') ->distinct() ->where('load_id', '=', $loadId) ->pluck('institution_id'); return $institutionIds; } }