使用PHP Codeigniter查询进行交叉连接

时间:2019-05-14 18:59:13

标签: php codeigniter

是否可以从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()或类似内容有关。

2 个答案:

答案 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”是联接类型