如何通过转义空属性更新/插入?I使用CodeIgniter的活动记录
我使用CodeIgniter的活动记录,我面临一个问题:如何通过转义空属性更新/插入?I使用CodeIgniter的活动记录,codeigniter,Codeigniter,我使用CodeIgniter的活动记录,我面临一个问题: 我在图书馆有一门课: 特布吕瑟级{ var $id = null; var $name = null; var $age = null; } 在模型中,我有一个类: class Task_m extends CI_Model { function add(){ //Assume that i already success include class TblUser so i start inste
var $id = null;
var $name = null;
var $age = null;
}class Task_m extends CI_Model {
function add(){
//Assume that i already success include class TblUser so i start instean
$myTableUser = new TblUser ();
$myTableUser->id = 1;
$myTableUser->name = 'Foo';
$myTableUser->age = 20;
$this->db->insert('tbl_user',$myTableUser);
// Assume that success add to database
}
function update($id,$name){
//Assume that i already success include class TblUser so i start instean
$myTableUser = new TblUser ();
$myTableUser->name = $name;
$this->db->where('id', $id);
$this->db->update('tbl_user',$myTableUser);
// Assume that success add to database
}
/* problem
* i call function : update(1,'titi');
* in database record will update like below:
* ----------------
* |id | name | age |
* ----------------
* |null| titi| null|
* -----------------
* I don't want null value, my wish if any property $myTableUser is null should be refuse.
*/
}
对于这一点,我希望使用类传递到活动记录函数,但对于任何包含null值的属性,都应该拒绝。(类似于joomla insteance表)按照如下编写类的方式,很明显,如果不提供该类,它将接受空值
class TblUser{
var $id = null;
var $name = null;
var $age = null;
}
那么你有两个解决方案
update()
函数中,将对象初始化为$myTableUser->id=$id
李>
notnull
的列级约束,以便在插入NULL
值时引发异常第一种解决方案是最好的。。只需在
$myTableUser->name=$name之后添加一行$myTableUser->id=$id
代码>。。这是最简单的解决方案:)字段“年龄”如何?在这里只是一个例子,但实际上我们将有很多属性,为什么我希望类属性赋值为null是在数据库上执行操作时的escape,比如component.huh的joomla实例表。。我们又有两个解决方案。。1.进行数据库调用以获取该行和数据,并分别将该数据分配给对象变量。只需更新那些需要更新的对象变量2。自定义查询。。如下$this->db->where('id',$id)$此->数据库->更新('tbl_user',数组('name'=>$name))代码>