2012-08-16 82 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

只是爲了記錄有可能是一個更好的方式來做你想做的事情。