如何使用 AND 加入 Codeigniter 方式
How to use AND in JOIN the Codeigniter way
如何将此 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
根据文档 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,您可以遵循此 Whosebug Link
中给出的建议
您需要将 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 and alternatively CI 3.x Query Builder Class
如何将此 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
根据文档 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,您可以遵循此 Whosebug Link
中给出的建议您需要将 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 and alternatively CI 3.x Query Builder Class