如何在CodeIgniter中获取用户列表?

3

我正在尝试从CodeIgniter的Users表中获取用户列表。我的问题是,如果使用以下代码然后尝试打印结果,它会给我一个空数组,而在使用last_query()函数打印查询并在phpMyAdmin中运行此查询时,则可以得到正确的结果。

我的模型代码:

$data = $this->db->select('u.*')
                    ->from('users u')
                    ->join('users_groups ug','ug.user_id = u.id')
                    ->join('groups g','g.id = ug.group_id')
                    ->where('g.id',7)
                    ->get()
                    ->result();

这段代码给我返回了空数组,然后我使用以下代码打印了查询结果:
echo $this->db->last_query();

这就是查询的内容

SELECT `u`.* FROM `users` `u` JOIN `users_groups` `ug` ON `ug`.`user_id` = `u`.`id` JOIN `groups` `g` ON `g`.`id` = `ug`.`group_id` WHERE `g`.`id` = 7

这段代码运行正常。但是我尝试使用print_r($data)打印数据,结果返回一个空数组。

有人能告诉我可能出了什么问题吗?

编辑

我的完整模型代码。

<?php 
defined('BASEPATH') OR exit('No direct script access allowed');

class Technician_model extends CI_Model {

public function _consruct(){
    parent::_construct();
}

function getData(){
    $data = $this->db->select('u.*')
                    ->from('users u')
                    ->join('users_groups ug','ug.user_id = u.id')
                    ->join('groups g','g.id = ug.group_id')
                    ->where('g.id',7)
                    ->get()
                    ->result();
     return $data;
}

function getRecord($user_id){
    $record = $this->db->get_where('users',array('id'=>$user_id))->row();
    echo '<pre>';
    print_r($record);
    exit;
    return $record;
}

function addModel($data){

    if($this->db->insert('users',$data)){
        return  $this->db->insert_id();
    }
    else{
        return FALSE;
    }
}

function editModel($data,$user_id){

    $this->db->where('id',$user_id);

    if($this->db->update('users',$data)){
        return true;
    }
    else{
        return false;
    }
}

function deleteModel($user_id){

    $this->db->where('id', $user_id);

    if($this->db->delete('users')){
        return true;
    }
    else{
        return FALSE;
    }
 }
 }
 ?>

你的数据库里有记录吗?))) - Salim Ibrohimi
你能展示一下你的完整模型代码吗? - Pradeep
我已经更新了问题中的代码。 - DhavalThakor
如果我在phpmyadmin中打印查询并执行,我会得到以下结果。http://nimb.ws/m0kE6q - DhavalThakor
我尝试了,但没有运气。 - DhavalThakor
显示剩余7条评论
2个回答

1
您可以尝试这种简单的方法来连接表格。您可以根据您的要求尝试更改字段名称表格名称方法
public function getUser() {
    $this->db->select('users');
    $this->db->from('Users');
    $this->db->where('users_groups.user_id',1);
    $this->db->join('users_groups', 'users.id = users_groups.user_id');
    $query = $this->db->get();
    $result = $query->result_array();

   var_dump($result); // display data in array();
   return $result; 
}

数据库配置有误,导致出现了问题。现在已经修复了。谢谢。 - DhavalThakor

0

实际上,在旅途的最后2小时,我发现自己忘记配置新数据库了。

在这种情况下,所有答案都是正确的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接