如何在 codeigniter 中获取用户列表?
How to get users list in codeigniter?
我正在尝试从 codeigniter 中的用户 table 获取用户列表。我的问题是,如果我使用以下代码而不是尝试打印出结果,它会在使用 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个小时的旅程结束后,我发现我忘记配置新的数据库了。
All the answers were correct in this case.
You may try this simple way to join table. you may try this and can
change fields name
table name
and method
according to your
require.
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;
}
我正在尝试从 codeigniter 中的用户 table 获取用户列表。我的问题是,如果我使用以下代码而不是尝试打印出结果,它会在使用 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个小时的旅程结束后,我发现我忘记配置新的数据库了。
All the answers were correct in this case.
You may try this simple way to join table. you may try this and can change
fields name
table name
andmethod
according to your require.
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;
}