是否可以从php交叉加入。例如: 目前,我像这样查询数据库:
$company_id = 20;
$templates_data = $this->db->select('template_id')
->from('dr_template_relational')
->where('dr_template_relational.company_id',$company_id)
->get()
->result_array();
我想要做的是这样的:
->from('dr_template_relational')
->cross_join()
在SO上对此问题有多种回答,但请参考以下常规sql查询:
"SELECT * FROM citys LEFT JOIN comments ON comments.city=citys.city WHERE citys.id=$id";
这是在SQL查询中执行此操作的方法,但此处的要点是在php中执行操作并获取通过交叉联接返回的数据。我还意识到可以在php中进行查询,以使其选择数据并将其与代码连接,但我的问题与是否需要简单地添加->cross_join()
或类似内容有关。
答案 0 :(得分:1)
您可以在codeigniter中运行原始查询以解决您的问题,如下所示:
$sql 'your query here with cross join';
$query = $this->db->query($sql);
return $query->result_array();
希望它对您有帮助:)
答案 1 :(得分:1)
您可以使用CI连接方法。
$company_id = 20;
$templates_data = $this->db->select('dr_template_relational.template_id')
->where('dr_template_relational.company_id',$company_id)
->join('table','dr_template_relational.company_id=table.company_id','LEFT')
->get()
->result_array();
其中“ LEFT”是联接类型