summaryrefslogtreecommitdiffstats
path: root/db
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-03-22 21:49:36 +0100
committerBernhard Posselt <nukeawhale@gmail.com>2013-03-22 21:49:36 +0100
commit452d91ee39c72e83d69fb5c462435cc245bcff73 (patch)
tree235f8484aa4e9f3129e184b21bec84bd6a51550d /db
parentf9107664b01ba6f9cb3283a08a9ae4baf6026215 (diff)
slim down select queries
Diffstat (limited to 'db')
-rw-r--r--db/itemmapper.php21
1 files changed, 15 insertions, 6 deletions
diff --git a/db/itemmapper.php b/db/itemmapper.php
index f7d27ab23..7d0279264 100644
--- a/db/itemmapper.php
+++ b/db/itemmapper.php
@@ -49,15 +49,24 @@ class ItemMapper extends Mapper implements IMapper {
return $items;
}
+
+ protected function makeSelectQuery($prependTo){
+ return 'SELECT `*PREFIX*news_items`.* FROM `*PREFIX*news_items` ' .
+ 'JOIN `*PREFIX*news_feeds` ' .
+ 'ON `*PREFIX*news_feeds`.`id` = `*PREFIX*news_items`.`feed_id` '.
+ 'AND `*PREFIX*news_feeds`.`user_id` = ? ' . $prependTo;
+ }
+
+ protected function makeFindAllFromFolderQuery($prependTo) {
+ return $this->makeSelectQuery(
+ 'WHERE ((`*PREFIX*news_items`.`status` & ?) > 0) ' .
+ $prependTo
+ );
+ }
public function find($id, $userId){
- $sql = 'SELECT `*PREFIX*news_items`.* FROM `*PREFIX*news_items` ' .
- 'JOIN `*PREFIX*news_feeds` ' .
- 'ON `*PREFIX*news_feeds`.`id` = `*PREFIX*news_items`.`feed_id` ' .
- 'AND `*PREFIX*news_feeds`.`user_id` = ? ' .
- 'WHERE `*PREFIX*news_items`.`id` = ? ';
-
+ $sql = $this->makeSelectQuery('WHERE `*PREFIX*news_items`.`id` = ? ');
$row = $this->findOneQuery($sql, array($id, $userId));
$item = new Item();