diff options
Diffstat (limited to 'src/web/_model/cache.php')
-rw-r--r-- | src/web/_model/cache.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/web/_model/cache.php b/src/web/_model/cache.php new file mode 100644 index 0000000..6cf9924 --- /dev/null +++ b/src/web/_model/cache.php @@ -0,0 +1,37 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ +class Cache_model extends Model { + + // the user cache + private $users; + + function __construct($load) { + parent::__construct($load); + $this->users = array(); + } + + /** + * Gets a array of users + */ + public function get_users($objs) { + $ids = array(); + foreach ($objs as $obj) { + $id = $obj['user_id']; + if (!array_key_exists($id, $this->users)) { + array_push($ids, intval($id)); + } + } + if (!empty($ids)) { + $result = $this->main->db + ->select('*') + ->from('api.user') + ->where_in('id', $ids) + ->rows(); + foreach ($result as $user) { + $id = $user['id']; + $this->users[$id] = $user; + } + } + return $this->users; + } + +} |