diff options
Diffstat (limited to 'app/Models')
| -rw-r--r-- | app/Models/TagDAO.php | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/app/Models/TagDAO.php b/app/Models/TagDAO.php index de480f0ff..a675c7e04 100644 --- a/app/Models/TagDAO.php +++ b/app/Models/TagDAO.php @@ -212,11 +212,13 @@ SQL; public function searchById(int $id): ?FreshRSS_Tag { $res = $this->fetchAssoc('SELECT * FROM `_tag` WHERE id=:id', [':id' => $id]); + /** @var array<array{'id':int,'name':string,'attributes'?:string}>|null $res */ return $res === null ? null : self::daoToTag($res)[0] ?? null; } public function searchByName(string $name): ?FreshRSS_Tag { $res = $this->fetchAssoc('SELECT * FROM `_tag` WHERE name=:name', [':name' => $name]); + /** @var array<array{'id':int,'name':string,'attributes'?:string}>|null $res */ return $res === null ? null : self::daoToTag($res)[0] ?? null; } @@ -237,7 +239,8 @@ SQL; $stm = $this->pdo->query($sql); if ($stm !== false) { - return self::daoToTag($stm->fetchAll(PDO::FETCH_ASSOC)); + $res = $stm->fetchAll(PDO::FETCH_ASSOC) ?: []; + return self::daoToTag($res); } else { $info = $this->pdo->errorInfo(); if ($this->autoUpdateDb($info)) { @@ -440,13 +443,13 @@ SQL; } /** - * @param iterable<array<string,int|string|null>> $listDAO + * @param iterable<array{'id':int,'name':string,'attributes'?:string}> $listDAO * @return array<FreshRSS_Tag> */ private static function daoToTag(iterable $listDAO): array { $list = []; foreach ($listDAO as $dao) { - if (empty($dao['id']) || !is_int($dao['id']) || empty($dao['name']) || !is_string($dao['name'])) { + if (empty($dao['id']) || empty($dao['name'])) { continue; } $tag = new FreshRSS_Tag($dao['name']); |
