From 8fffd628daf9f0c2dd7fc8050797ef6e57e99d0c Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Mon, 24 Jul 2023 06:01:31 +0000 Subject: [PATCH] added api functions --- Models/MediaMapper.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Models/MediaMapper.php b/Models/MediaMapper.php index f6acd2b..9a921b4 100755 --- a/Models/MediaMapper.php +++ b/Models/MediaMapper.php @@ -18,6 +18,7 @@ use Modules\Admin\Models\AccountMapper; use Modules\Tag\Models\TagMapper; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\DataStorage\Database\Mapper\ReadMapper; +use phpOMS\DataStorage\Database\Query\Builder; /** * Media mapper class. @@ -199,4 +200,19 @@ class MediaMapper extends DataMapperFactory ->where('class', MediaClass::COLLECTION) ->where('name', $name); } + + public static function countInternalReferences(int $id) : int + { + $references = self::count() + ->where('source', $id) + ->execute(); + + $query = new Builder(self::$db); + $result = $query->count(self::TABLE) + ->where('media_relation_src', '=', $id) + ->execute() + ?->fetch(); + + return $references + ((int) $result[0] ?? 0); + } }