0.9.9-2 Fehler (isys_cmdb_dao_category::get_data
-
Hallo,
wir hatten bislang noch eine 0.8 laufen und dort ein eigenes Feld für eine Inventarnummer integriert.
Seit dem Update auf 9.9.-2 erhalten wir folgenden Fehler:
Fatal error: Class isys_cmdb_dao_category_g_inventar contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (isys_cmdb_dao_category::get_data) in …/dao/category/global/isys_cmdb_dao_category_g_inventar.class.php on line 13
Kann vielleicht irgendwer helfen ?
EDIT: wenn ich versuche die Klasse als abstract zu definieren erhalte ich einen weiteren Fehler:
Fatal error: Cannot instantiate abstract class isys_cmdb_dao_category_g_inventar in .../src/classes/cmdb/dao/category/isys_cmdb_dao_category.class.php on line 292
-
Hallo,
leider ist die Beschreibung zu ungenau, um da was genaueres dazu zu sagen.
Was genau hast Du für Anpassungen gemacht, welche Version setzt Du genau ein und zu welcher willst Du updaten?
Und: Warum willst Du die Klasse abstract setzen?
Gruß
-
Seit der 0.9.9 benötigen alle Kategorie DAO Klassen die Methode get_data mit folgendem Aufbau :
/** * Return Category Data * * @param [int $p_id]h * @param [int $p_obj_id] * @param [string $p_condition] * * @return isys_component_dao_result */ public function get_data($p_catg_list_id = null, $p_obj_id = null, $p_condition = "", $p_filter = null, $p_status = null) { $p_condition .= $this->prepare_filter($p_filter); $l_sql = "SELECT * FROM isys_catg_application_list ". "LEFT JOIN isys_connection ON isys_connection__id = isys_catg_application_list__isys_connection__id ". "LEFT JOIN isys_obj ON isys_connection__isys_obj__id = isys_obj__id ". "WHERE TRUE "; $l_sql .= $p_condition; if (!empty($p_obj_id)) { $l_sql .= " AND (isys_catg_application_list__isys_obj__id = '{$p_obj_id}')"; } if (!empty($p_catg_list_id)) { $l_sql .= " AND (isys_catg_application_list__id = '{$p_catg_list_id}')"; } if (!empty($p_status)) { $l_sql .= " AND (isys_catg_application_list__status = '{$p_status}')"; } return $this->retrieve($l_sql); }
Das ist jetzt ein Beispiel für Anwendungen. Du musst diese Methode unbedingt implementieren und hier ein SELECT auf die entsprechende Tabelle für inventar machen.