'room_type_selling_object', 'primary' => 'id_room_type_selling_object', 'multilang' => true, 'fields' => array( 'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false), 'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false), 'name' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true), 'name_plural' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true), ), ); public function isUsed() { return (bool) Db::getInstance()->getValue( 'SELECT COUNT(*) FROM `'._DB_PREFIX_.'product` WHERE `id_room_type_selling_object` = '.(int) $this->id ); } public static function getRoomTypeSellingObject($idLang = null, $active = true) { if (!$idLang) { $idLang = Context::getContext()->language->id; } $cache_key = 'RoomTypeSellingObject::getRoomTypeSellingObject'.(int)$idLang.'_'.(int)$active; if (!Cache::isStored($cache_key)) { $sql = 'SELECT hrst.`id_room_type_selling_object` AS `id_room_type_selling_object`, hrstl.`name`, hrstl.`name_plural` FROM `'._DB_PREFIX_.'room_type_selling_object` hrst LEFT JOIN `'._DB_PREFIX_.'room_type_selling_object_lang` hrstl ON (hrst.`id_room_type_selling_object` = hrstl.`id_room_type_selling_object` AND hrstl.`id_lang` = '.(int)$idLang.')'. ($active ? ' WHERE hrst.`active` = 1' : ''). ' ORDER BY hrstl.`name` ASC'; $res = Db::getInstance()->executeS($sql); Cache::store($cache_key, $res); } return Cache::retrieve($cache_key); } }