0

ExpressionEngine (CodeIgniter フレームワークを使用している) に次の条件があります。

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

ここに追加の条件 (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

私がしていることは、次のようなクエリを書き出すことです。

$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 に答える
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 に答える