如何将 Sql 查询转换为代码点火器活动记录



我有如下sql查询,我需要将sql转换为codeigniter活动记录。

select * from color c 
left join (select pc.* from product_color pc
LEFT join product p on pc.product_id=p.product_id
WHERE p.product_id=1)x on c.id=x.color_id

在codeigniter中,您可以使用get_compiled_select函数获取编译的查询。

让我们先创建内部查询。

$inner_query = $this->db->select('pc.*')
->from('product_color pc')
->join('product p','pc.product_id = p.product_id','left')
->where('p.product_id',1)
->get_compiled_select();

现在我们将使用内部查询来创建最终查询。

$final_query = $this->db->select('*')
->from('color c')
->join("($inner_query) x",'c.id=x.color_id','left')
->get_compiled_select();
echo $final_query; die;

在模型文件中尝试此操作。 最好将SQL关键字保留在大写字母中。

$query = "SELECT * FROM color c 
LEFT JOIN (SELECT pc.* FROM product_color pc
LEFT JOIN product p ON pc.product_id=p.product_id
WHERE p.product_id=1)x on c.id=x.color_id"
$query = $this->db->query($query);
$data =  $query->result_array();

相关内容

  • 没有找到相关文章

最新更新