繁体   English   中英

CodeIgniter:添加到where子句

[英]CodeIgniter: Adding to where clause

我在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);
}

检查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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM