diff options
author | raylu <raylu@mixpanel.com> | 2011-07-16 23:08:10 -0700 |
---|---|---|
committer | raylu <raylu@mixpanel.com> | 2011-07-16 23:08:10 -0700 |
commit | dcc965ab293655136c251afe4fb6f4f41ac5cb75 (patch) | |
tree | 06d69723a766ff1bbe88f716a9a427fb397f158b /models/Manga.php | |
parent | 994c36b8279480b6e3374017140e36d77401d3a4 (diff) | |
download | otakuhub-dcc965ab293655136c251afe4fb6f4f41ac5cb75.tar.xz |
manga/kdrama individual search pages
Diffstat (limited to 'models/Manga.php')
-rw-r--r-- | models/Manga.php | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/models/Manga.php b/models/Manga.php index 03c2d29..5f79bef 100644 --- a/models/Manga.php +++ b/models/Manga.php @@ -5,5 +5,35 @@ namespace app\models; class Manga extends \lithium\data\Model { protected $_meta = array('key' => '_id', 'source' => 'manga', 'connection' => 'mongo'); - -}
\ No newline at end of file + public static function search($query, $page = 1, $by = 'title') + { + $defaults = array('limit' => 20); + $limit = 20; + + switch($by) { + case 'special_id': + + $manga = parent::find('first', + array('conditions' => array( + $by => $query + ), + 'limit' => $limit, + 'page' => $page + )); + + $total = parent::count(array($by => $query)); + break; + + default: + $manga = parent::find('all', + array('conditions' => array( + $by => array('like' => $query) + ), + 'limit' => $limit, + 'page' => $page + )); + $total = parent::count(array($by => array('like' => $query))); + } + return compact('manga', 'by', 'limit', 'total', 'page'); + } +} |