Codeigniter 第二连接代码点火器
我在模型中的函数如下所示:Codeigniter 第二连接代码点火器,codeigniter,join,Codeigniter,Join,我在模型中的函数如下所示: public function join($table, $select, $join, $on, $join2 = FALSE, $on2 = FALSE, $where = FALSE, $single = FALSE, $order = FALSE, $sort = FALSE, $limit = FALSE) { $this->db->select($select); $this->db->from($table)
public function join($table, $select, $join, $on, $join2 = FALSE, $on2 = FALSE, $where = FALSE, $single = FALSE, $order = FALSE, $sort = FALSE, $limit = FALSE)
{
$this->db->select($select);
$this->db->from($table);
$this->db->join($join, $on);
if($join2 == TRUE)
{
$this->db->join($join2, $on2);
}
if($where == TRUE)
{
$this->db->where($where);
}
if($order == TRUE)
{
$this->db->order_by($order, $sort);
}
if($limit == TRUE)
{
$this->db->limit($limit, 0);
}
if($single == TRUE)
{
return $query->row();
}
$query = $this->db->get();
return $query->result();
}
我的控制器:
public function index()
{
$data['users'] = $this->users_m->get('users');
$join = "blog_list";
$on = "blog_list.id_p = users.id";
$join2 = "meeting_list";
$on2 = "meeting_list.id_p = users.id";
$data['join'] = $this->users_m->join('users', 'users.id, users.nickname, blog_list.cat2, meeting_list.id_m', $join, $on, $join2, $on2, FALSE, FALSE, 'nickname', 'desc');
$this->load->view('admin/users/index', $data);
}
和视图:
<?php foreach($join as $row): ?>
<?php echo ($row->id); ?>
<?php echo ($row->nickname); ?>
<?php echo ($row->cat2); ?>
<?php echo ($row->id_m); ?>
<br>
问题是,当我使用$join2时,第二个连接是什么,这意味着当我回显$row->id时,id来自$join2中的表,而不是$table。当我只使用一个连接时,当我在$select中指定id来自'user'users.id时,一切都会工作,但使用第二个连接时,一切都不会工作。有什么想法吗?尝试编辑您的选择,您可以按名称选择字段,然后将它们分配给另一个名称。所以,PAR例子:
public function index()
{
//Other code
$data['join'] = $this->users_m->join('users', 'users.id as uid, users.nickname, blog_list.cat2, meeting_list.id_m', $join, $on, $join2, $on2, FALSE, FALSE, 'nickname', 'desc');
//Other code
}
现在回音:
<?php echo ($row->uid); ?>
打印一行,看看里面有什么。