diff options
Diffstat (limited to 'app/Models/Entry.php')
| -rw-r--r-- | app/Models/Entry.php | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/app/Models/Entry.php b/app/Models/Entry.php index 62ba91db3..16f01483a 100644 --- a/app/Models/Entry.php +++ b/app/Models/Entry.php @@ -50,7 +50,7 @@ class FreshRSS_Entry extends Minz_Model { } /** @param array{'id'?:string,'id_feed'?:int,'guid'?:string,'title'?:string,'author'?:string,'content'?:string,'link'?:string,'date'?:int|string,'lastSeen'?:int, - * 'hash'?:string,'is_read'?:bool|int,'is_favorite'?:bool|int,'tags'?:string|array<string>,'attributes'?:string,'thumbnail'?:string,'timestamp'?:string} $dao */ + * 'hash'?:string,'is_read'?:bool|int,'is_favorite'?:bool|int,'tags'?:string|array<string>,'attributes'?:?string,'thumbnail'?:string,'timestamp'?:string} $dao */ public static function fromArray(array $dao): FreshRSS_Entry { FreshRSS_DatabaseDAO::pdoInt($dao, ['id_feed', 'date', 'lastSeen', 'is_read', 'is_favorite']); @@ -98,6 +98,17 @@ class FreshRSS_Entry extends Minz_Model { return $entry; } + /** + * @param Traversable<array{'id'?:string,'id_feed'?:int,'guid'?:string,'title'?:string,'author'?:string,'content'?:string,'link'?:string,'date'?:int|string,'lastSeen'?:int, + * 'hash'?:string,'is_read'?:bool|int,'is_favorite'?:bool|int,'tags'?:string|array<string>,'attributes'?:?string,'thumbnail'?:string,'timestamp'?:string}> $daos + * @return Traversable<FreshRSS_Entry> + */ + public static function fromTraversable(Traversable $daos): Traversable { + foreach ($daos as $dao) { + yield FreshRSS_Entry::fromArray($dao); + } + } + public function id(): string { return $this->id; } |
