0

我在 ExpressionEngine (使用 CodeIgniter 框架)中有以下条件:

if ($group_id !== '')
    {
        $this->db->where("members.group_id", $group_id);
    }

我想在 where (and) 中添加一个额外的条件,我该怎么做?我要添加一个新的$this->db->where('my_field', $my_value)吗?或者怎么做?

4

4 回答 4

2

你猜到了。

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 很好。

于 2012-08-11T16:02:01.867 回答
0
// 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);
}
于 2012-08-11T16:05:50.160 回答
0

我所做的是写出查询,例如:

$data = array('name' => $_POST['name'], 'lname' => $_POST['lname']);
$sql = "select table where name = ? and lname = ?";
$this->db->query($sql, $data);

我喜欢把它写出来的原因是,一旦你最终编写了具有许多表连接的非常复杂的查询,阅读活动记录查询就变得非常困难。

于 2012-08-12T05:02:50.230 回答
0

是的......你可以试试这个:

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);
于 2012-08-21T09:52:56.500 回答