我在 ExpressionEngine (使用 CodeIgniter 框架)中有以下条件:
if ($group_id !== '')
{
$this->db->where("members.group_id", $group_id);
}
我想在 where (and) 中添加一个额外的条件,我该怎么做?我要添加一个新的$this->db->where('my_field', $my_value)
吗?或者怎么做?
我在 ExpressionEngine (使用 CodeIgniter 框架)中有以下条件:
if ($group_id !== '')
{
$this->db->where("members.group_id", $group_id);
}
我想在 where (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);
}
查看 Codeigniter 文档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);