Как получить список пользователей в codeigniter?

Я пытаюсь получить список пользователей из таблицы Users в codeigniter. Моя проблема в том, что если я использую следующий код, чем пытаться распечатать результат, он дает мне пустой массив при печати запроса с использованием 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;
}
}
}
?>

2

Решение

Вы можете попробовать этот простой способ присоединиться к таблице. Вы можете попробовать это и можете
менять fields name table name а также method в соответствии с вашими
требуют.

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;
}
0

Другие решения

Фактически, в конце 2 часов пути я обнаружил, что забыл настроить новую базу данных.

Все ответы были правильными в этом случае.

0

После обновления этого кода и проверки

public function _consruct(){
parent::_construct();
$this->load->database();
}

function getData(){
$data = $this->db->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");
return $data;
}
-2
По вопросам рекламы [email protected]