Как добавить объект в конец массива в codeigniter - PullRequest
0 голосов
/ 01 октября 2018

Я использую 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. Имя пользователя Статус Роли Операции

Но он показывает только последнее значение массива.Пожалуйста, предложите мне, где проблема и как решить эту проблему.

...