【发布时间】:2011-02-22 21:08:49
【问题描述】:
我正在使用 Codeigniter 编写我的第一个程序,但遇到了问题。我将从对问题的重点描述开始,如果需要,我可以扩大范围:
我需要将一个多维数组写入数据库,并希望使用 CI_DB_active_record 类中的 insert_batch 函数来执行此操作。问题是我需要将某些字段的空值写为 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 { }');
}
我可以做得更好吗?
【问题讨论】: