Exemple #1
0
 public function getAllByCollection($collection_id, $start = 0, $limit = 0, $order = 'items.id desc', $where = false, $search = false)
 {
     $db = JO_Db::getDefaultAdapter();
     $query = $db->select()->from('items')->where('items.status = ?', 'active')->joinLeft('items_collections', 'items_collections.item_id = items.id')->joinLeft(Model_Users::getPrefixDB() . 'users', 'users.user_id = items.user_id', array('username', 'avatar'))->order($order)->limit($limit, $start)->where('items_collections.collection_id = ?', $collection_id)->group('items.id');
     if ($where != false) {
         $query->where($where);
     }
     if ($search) {
         $query->where("MATCH(items.name, items.description) AGAINST ('{$search}')\r\r\n            \t\t\tOR\r\r\n            \t\t\titems.name LIKE ('%{$search}%')\r\r\n            \t\t\tOR \r\r\n            \t\t\titems.description LIKE ('%{$search}%')\r\r\n            \t\t\t");
     }
     //echo $query;
     $return = array();
     foreach ($db->fetchAll($query) as $d) {
         $d['categories'] = Model_Categories::getItemsCategories($d['id']);
         $categories = explode(',', $d['categories']);
         $d['categories'] = array();
         foreach ($categories as $cat) {
             if (!empty($cat) && $cat != '|' && !in_array($cat, array_values($d['categories']))) {
                 $d['categories'][] = $cat;
             }
         }
         $return[$d['id']] = $d;
     }
     return $return;
 }