你如何进行codeigniter加入?

时间:2012-01-17 16:48:58

标签: php mysql sql codeigniter

我在codeigniter格式中创建连接时遇到问题,我有一个MySQL查询返回我想要的内容:

SELECT nwsite.siteid, nwsite.installer_username,
       calcdata.esolar, calcdata.time, calcdata.wsolar
FROM nwsite, calcdata
WHERE nwsite.siteid = calcdata.siteid AND time = '2011-10-29 12:45:00';

我看过文档,但我一直都错了。

由于

1 个答案:

答案 0 :(得分:8)

来自CI文档...

$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');

$query = $this->db->get();

// Produces: 
// SELECT * FROM blogs
// JOIN comments ON comments.id = blogs.id

所以在你的情况下,我不会在FROM中使用cartisian产品,我实际上会使用联接。

$this->db->select("... your fields here...");
$this->db->from("nwsite");
$this->db->join("calcdata", "nwsite.siteid = calcdata.siteid");
$this->db->where("nwsite.time", "2011-10-29 12:45:00");

$query = $this->db->get();

为了将来参考,我经常使用

die($this->db->last_query());

输出正在生成的实际查询。它使调试和比较您尝试生成的内容变得更容易。