/** * Delete an item. * * @param int $id The id of the record to delete. */ public static function delete($id) { $id = (int) $id; $db = BackendModel::getContainer()->get('database'); // get field ids $fieldIds = (array) $db->getColumn('SELECT i.id FROM forms_fields AS i WHERE i.form_id = ?', $id); // we have items to be deleted if (!empty($fieldIds)) { // delete all fields $db->delete('forms_fields', 'form_id = ?', $id); $db->delete('forms_fields_validation', 'field_id IN(' . implode(',', $fieldIds) . ')'); } // get data ids $dataIds = (array) $db->getColumn('SELECT i.id FROM forms_data AS i WHERE i.form_id = ?', $id); // we have items to be deleted if (!empty($dataIds)) { self::deleteData($dataIds); } // delete extra BackendModel::deleteExtra('FormBuilder', 'widget', array('id' => $id)); // delete form $db->delete('forms', 'id = ?', $id); }