[英]Joining tables from two databases using codeigniter
为了在codeigniter中编写查询,您需要编写类似$this->db->query
或$someDB->query
。 但是,如果我想联接来自两个不同数据库的表怎么办?
我知道我可以通过纯php,使用mysqli_connect
并编写如下内容来做到这一点:
SELECT * FROM db1.table1 JOIN db2.table2
但是有办法使用codeigniter吗?
使用CodeIgniter的查询方法并传递任何复杂的sql查询槽:
$query = $this->db->query("SELECT * FROM dbname1.table t1 JOIN db2.table t2 ON t2.column = t1.column");
foreach ($query->result() as $row)
{
print_r($row);
}
带有相同列名称的学生和教师表的这种简单连接,希望您能得到。
$this->db->select("s.*,t.*");
$this->db->from("student as s");
$this->db->join("teacher as t","s.student_id = t.student_id","both");
$result = $this->db->get()->result_array();
return $result;
你也想单行尝试row_array(); 而不是result_array();
您可以尝试使用我现在正在处理的项目中使用的功能...请参见下面的代码...
function join_table()
{
$this->db->select(//column name, //column name, //column name);
$this->db->from(//table1 name);
$this->db->join(//table2 name, //table1 name.//column name = //table2 name.//column name');
$this->db->where(//condition);
return $this->db->get()->result();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.