Результирующий массив Codeigniter возвращает только одну строку - PullRequest
1 голос
/ 14 августа 2011

Я пытаюсь закодировать массив в json для использования с jquery.Это функция из моей модели

function get_latest_pheeds() {
        $this->load->helper('date');
         $time = time();
         $q = $this->db->select("user_id,pheed_id,pheed,datetime,COUNT(pheed_comments.comment_id) as comments")
                        ->from('pheeds')
                        ->join('pheed_comments','pheed_comments.P_id=pheeds.pheed_id','left')
                        ->group_by('pheed_id')
                        ->order_by('datetime','desc')
                        ->limit(30);
        $rows = $q->get();
            foreach($rows->result_array() as $row) {
                $data['user_id'] = $row['user_id'];
                $data['pheed_id'] = $row['pheed_id'];
                $data['pheed'] = $row['pheed'];
                $data['comments'] = $row['comments'];
                $data['datetime'] = timespan($row['datetime'],$time);
            }
            return $data;
     }

И это из моего контроллера

function latest_pheeds() {
            if($this->isLogged() == true) {
            $this->load->model('pheed_model');
            $data = $this->pheed_model->get_latest_pheeds();

                echo json_encode($data);

            return false;
        }
    }

Она возвращает только 1 строку из базы данных, когда я запускаю код в браузере.Пожалуйста, помогите мне

Ответы [ 2 ]

2 голосов
/ 14 августа 2011

Вы перезаписываете данные на каждой итерации !!

Используйте что-то вроде

    $data[] = array(
    'user_id' => $row['user_id'];
    'pheed_id' => $row['pheed_id']; 
    'pheed' => $row['pheed'];
    'comments' => $row['comments'];
    'datetime' => timespan($row['datetime'],$time); 
    ) ;
0 голосов
/ 03 июня 2013

Это хорошо, но ваш синтаксис должен быть 'user_id' => $ row ['user_id'] , для каждого элемента массива

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...