如何使用 AND 加入 Codeigniter 方式

Posted

技术标签:

【中文标题】如何使用 AND 加入 Codeigniter 方式【英文标题】:How to use AND in JOIN the Codeigniter way 【发布时间】:2018-03-30 08:57:28 【问题描述】:

如何将此 mysql 查询转换为 Codeigniter 查询?

SELECT *
FROM categories
LEFT JOIN user_category_subscriptions ON 
    user_category_subscriptions.category_id = categories.category_id
    and user_category_subscriptions.user_id =1

【问题讨论】:

只要使用$this->db->query(); 【参考方案1】:

你需要将 AND 部分放在 Codeigniter 的 join() 中

$query = $this->db  ->select('t1.*')
                    ->join('user_category_subscriptions t2', 't1.category_id =t2.category_id AND t2.user_id =1','left')
                    ->get('categories t1');
return ($query->num_rows())?$query->result():false;

在查询之后使用这一行,您可以仔细检查查询是否正确生成:

echo $this->db->last_query();die;

更多关于 CI 2.x Active Record Class 和 CI 3.x Query Builder Class

【讨论】:

【参考方案2】:

根据文档here:

$query = $this->db->query('SELECT name, title, email FROM my_table');

foreach ($query->result() as $row)

    echo $row->title;
    echo $row->name;
    echo $row->email;


echo 'Total Results: ' . $query->num_rows();

ORM:

如果您想使用 ORM,可以按照*** Link 上给出的建议进行操作

【讨论】:

以上是关于如何使用 AND 加入 Codeigniter 方式的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter 身份验证系统允许 3rd 方身份验证?

数据表加入表搜索和排序卡在codeigniter中

Codeigniter 加入多个条件

在codeigniter中一起更新和加入查询?

Codeigniter 加入多个 id 并显示到视图

使用codeigniter加入3个表并显示它