2012-08-16 58 views
1

我想使用CodeIgniter的活动记录,到目前为止它一直工作得很好。但是,我想将一些变量分配给一个对象,我希望CodeIgniter在生成SQL查询时可以忽略它。例如:CodeIgniter活动记录:忽略某些变量

$this->Objs->Name = 'Eric'; 
$this->Objs->Age = 27; 
$this->Objs->Gender = 'M'; 
$this->Objs->TempVal = 'This is just for reference purposes'; 

我不完全在表中称为TempVal相应的列,所以如果我做出$this->Objs->save();调用(实现,节省了自身的一种基本方法),在SQL查询将包括TempVal,这会引发错误。

有什么办法从SQL查询中排除TempVal

+1

看看这是否适合你'unset($ this-> Objs-> TempVal); '在保存之前。 – TigerTiger 2012-08-16 07:53:29

+0

嗯,我相信这会行得通,但我想在运行SQL查询之后使用该变量......我真的必须制作某种字典才能将它们链接起来吗? – matt 2012-08-16 11:45:48

+0

然后将其存储在一个变量中,然后取消设置()并使用它,但是您打算使用它!我真的不明白你说的关于链接。 – TigerTiger 2012-08-16 11:48:45

回答

0

您可以继承位于系统数据库中的CI_DB_active_record类。并修改插入方法以忽略您不想保存的属性。

This向您显示如何加载它。它需要一个微小的修改来加载你的子类/system/DB.php

只是为了记录有可能是一个更好的方式来做你想做的事情。