diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-22 21:39:39 +0100 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-22 21:39:39 +0100 |
commit | f9107664b01ba6f9cb3283a08a9ae4baf6026215 (patch) | |
tree | c3d783e4de04c65ec4bbaf6d86acde5ab8199f0f /db/feedmapper.php | |
parent | 91a327f5c687014fe20b531b9a42b98fe151d017 (diff) |
made mappers faster by only joining the relevant rows for each user
Diffstat (limited to 'db/feedmapper.php')
-rw-r--r-- | db/feedmapper.php | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/db/feedmapper.php b/db/feedmapper.php index 131eb2090..22f71d7a3 100644 --- a/db/feedmapper.php +++ b/db/feedmapper.php @@ -37,11 +37,11 @@ class FeedMapper extends Mapper implements IMapper { public function find($id, $userId){ - $sql = 'SELECT * FROM `*dbprefix*news_feeds` ' . + $sql = 'SELECT * FROM `*PREFIX*news_feeds` ' . 'WHERE `id` = ? ' . 'AND `user_id` = ?'; - $row = $this->findQuery($sql, array($id, $userId)); + $row = $this->findOneQuery($sql, array($id, $userId)); $feed = new Feed(); $feed->fromRow($row); @@ -65,8 +65,8 @@ class FeedMapper extends Mapper implements IMapper { public function findAllFromUser($userId){ $sql = 'SELECT `feeds`.*, COUNT(`items`.`id`) AS `unread_count` ' . - 'FROM `*dbprefix*news_feeds` `feeds` ' . - 'LEFT OUTER JOIN `*dbprefix*news_items` `items` ' . + 'FROM `*PREFIX*news_feeds` `feeds` ' . + 'LEFT OUTER JOIN `*PREFIX*news_items` `items` ' . 'ON `feeds`.`id` = `items`.`feed_id` ' . 'WHERE (`items`.`status` & ?) > 0 ' . 'AND `feeds`.`user_id` = ? ' . @@ -78,19 +78,19 @@ class FeedMapper extends Mapper implements IMapper { public function findAll(){ - $sql = 'SELECT * FROM `*dbprefix*news_feeds`'; + $sql = 'SELECT * FROM `*PREFIX*news_feeds`'; return $this->findAllRows($sql); } public function findByUrlHash($hash, $userId){ - $sql = 'SELECT * FROM `*dbprefix*news_feeds` ' . + $sql = 'SELECT * FROM `*PREFIX*news_feeds` ' . 'WHERE `url_hash` = ? ' . 'AND `user_id` = ?'; $params = array($hash, $userId); - $row = $this->findQuery($sql, $params); + $row = $this->findOneQuery($sql, $params); $feed = new Feed(); $feed->fromRow($row); |