我在ExpressionEngine(使用CodeIgniter框架)中有以下条件:
if ($group_id !== '')
{
$this->db->where("members.group_id", $group_id);
}
我想添加一个额外的条件(AND),我该怎么做?我是否要添加新$this->db->where('my_field', $my_value)
?还是怎么做?
你猜对了。
if ($group_id !== '')
{
$this->db->where("members.group_id", $group_id);
$this->db->where('my_field', $my_value);
}
查看代码点火器文档 http://codeigniter.com/user_guide/database/active_record.html很好。
// if (is_numeric($group_id) && $group_id > 0)
if ($group_id)
{
$this->db->where("members.group_id", $group_id);
$this->db->where('my_field', $my_value);
// $this->db->where('my_field >=', $my_value);
// $this->db->where('my_field <', $my_value);
}
我所做的是写出查询,例如:
$data = array('name' => $_POST['name'], 'lname' => $_POST['lname']);
$sql = "select table where name = ? and lname = ?";
$this->db->query($sql, $data);
我更喜欢把它写出来的原因是,一旦你最终编写了具有许多表连接的非常复杂的查询,就很难读取活动记录查询。
是的.....你可以试试这个:
if ($group_id !== '')
{
$this->db->where("members.group_id", $group_id);
$this->db->where('my_field', $my_value);
}
您还可以使用:
$this->db->or_where('my_field',$my_value);