Esempio n. 1
0
 /**
  * Delete one
  */
 public function deleteOne(manufacturer $m)
 {
     try {
         dibi::query('DELETE FROM [:prefix:manufacturers]', 'WHERE [id] = %i', $m->getId(), 'LIMIT 1');
         dibi::query('DELETE FROM [:prefix:pages]', 'WHERE [nice_name] = %s', $m->getNiceName(), 'LIMIT 1');
         return TRUE;
     } catch (Exception $e) {
         return FALSE;
     }
 }
Esempio n. 2
0
 /**
  * Count by manufacturer
  * @return int
  */
 public function countByManufacturer(manufacturer $manufacturer, $letter = NULL)
 {
     try {
         $query = array('SELECT COUNT(*) FROM [:prefix:products] AS [products]');
         if ($letter !== NULL) {
             $query[] = 'LEFT JOIN [:prefix:pages] AS [pages] ON [pages].[ref_id] = [products].[id] AND [pages].[ref_type] = %s';
             $query[] = pages::PRODUCT;
         }
         $query[] = 'LEFT JOIN [:prefix:manufacturers] AS [manufacturers] ON [products].[manufacturer_id] = [manufacturers].[id]';
         $query[] = 'WHERE [manufacturers].[id] = %i';
         $query[] = $manufacturer->getId();
         if ($letter !== NULL) {
             $query = array_merge($query, (array) 'AND', $this->whereLetter($letter));
         }
         return dibi::query($query)->fetchSingle();
     } catch (Exception $e) {
         return NULL;
     }
 }