Я пишу свою первую программу с Codeigniter и столкнулся с проблемой. Я начну с целенаправленного описания проблемы и могу расширить ее, если мне нужно:
Мне нужно записать многомерный массив в базу данных и использовать для этого функцию insert_batch из класса CI_DB_active_record. Проблема в том, что мне нужно записать пустые значения как NULL для некоторых полей, в то время как другие поля должны быть пустыми строками. Текущая функция заключает все значения в одинарные кавычки, и я не могу найти способ записать нулевые значения в базу данных для указанных полей.
Я также хотел бы увеличить количество записей в пакете.
Я вижу, как расширять модели, библиотеки и т. Д., Но есть ли способ расширить класс CI_DB_active_record без изменения базовых классов? Минимальное количество изменений базового класса для выполнения этой работы, которое я обнаружил, - это изменение следующих строк в файле DB.php (изменение файла require_once на новый файл, расширяющий класс CI_DB_active_record и изменение имени класса CI_DB_active_record на новый класс имя):
require_once(BASEPATH.'database/DB_active_rec'.EXT);
if ( ! class_exists('CI_DB'))
{
eval('class CI_DB extends CI_DB_active_record { }');
}
Могу ли я сделать лучше?