Я использую codeigniter3. Я создал несколько моделей, то есть admin, пользователя с одним представлением. Я беру значения списка пользователей из модели и печатаю их как список.Но его показывает только последний элемент массива.Мой код ниже
<?php
class adminmodel extends CI_Model{
/**
*
* @throws Exception
*/
public function userslist(){
try{
$userlist = $this->getUserListWithDetails();
if(empty($userlist)) {
throw new Exception('no data returne');
}
}catch(Exception $e){
var_dump($e->getMessage());
}
return $userlist;
}
/**
*
* @return type
*/
public function getUserListWithDetails(){
try{
$this->db->select('*');
$this->db->from('users');
$this->db->where('users.uid!=',1);
$query = $this->db->get();
$rows=$query->result_array();
if($query->num_rows()){
return $this->getUserObjectListFromDataSet($rows);
}
}catch(Exception $e){
var_dump($e->getMessage());
}
}
/**
*
* @param type $rows
*/
public function getUserObjectListFromDataSet($rows){
$userList = array();
if($rows) {
foreach ($rows as $row) {
$uid = $row['uid'];
$this->load->model('usermodel','user');
$user=$this->user;
//Get User Roles
/* $this->db->select('*');
$this->db->from('role r');
$this->db->join('users_roles', 'r.rid = users_roles.rid','left');
$this->db->where('users_roles.uid',$uid);
$query=$this->db->get();
$roles = $query->result_array();
$this->load->model('rolemodel','role');*/
$user->setUid($row['uid']);
$user->setUsername($row['username']);
//=======================================
array_push($userList,$this->user);//here is issue
}
return $userList;
}else{
return null;
}
}
}
?>
MY user model
<?php
class Usermodel extends CI_Model{
protected $uid;
protected $username;
/**
* @return mixed
*/
public function getUid()
{
return $this->uid;
}
/**
* @param mixed $uid
*/
public function setUid($uid)
{
$this->uid = $uid;
}
}
Я использую $ userList на мой взгляд, как
<code><div class="box-body">
<?php if($error=$this->session->flashdata('feedback')):?>
<div class='row'>
<?=$error;?>
</div>
<?php endif;?>
<table id="example2" class="table table-bordered table-hover">
<thead>
<tr>
<th>Sr.No.</th>
<th>Username</th>
<th>Status</th>
<th>Roles</th>
<th>Operations</th>
</tr>
</thead>
<tbody>
<?php
//echo "<pre>";print_r($users);echo "
"; if (count ($ users)> 1):?> getUsername ();?> getUid ();?> getRoles ()) {foreach ($ user-> getRoles () как $ userRole) {echo $ userRole-> getRoleName ().'«;}} * /?> X Нет доступных данных. Sr.No. Имя пользователя Статус Роли Операции
Но он показывает только последнее значение массива.Пожалуйста, предложите мне, где проблема и как решить эту проблему.