2013-05-02 3 views
1

Я пытаюсь передать массив на страницу просмотра и поместить элементы в список/выпадающий список. Где я ошибаюсь в этом коде?CodeIgniter - отправка массива от модели к контроллеру на страницу

Модель

public function get_suppliers(){ 
     $type = "SUPPLIER"; 
     $this->db->where('usertype', $type); 
     $query = $this->db->get('users'); 
     foreach ($query->result() as $row){ 
      $results = array(
       'userid' => $row->userid, 
       'firstname' => $row->firstname, 
       'lastname' => $row->lastname, 
       'company' => $row->company 
      ); 

     } 
     return $results; 
    } 

Контроллер

$this->load->model('user_model'); 
$data['supplier']= $this->user_model->get_suppliers(); 
$this->load->view('include/header.php'); 
$this->load->view('addvehicle_view', $data); 
$this->load->view('include/footer.php'); 

Посмотреть

<?php 
    if(isset($supplier)){ 
     foreach ($supplier as $info){ 
     echo'<option value="' . $info->userid . '">' . $info->company . ' - ' . $info->lastname . ', ' . $info->firstname . '</option>'; 
    } 
    } 
    ?> 

ответ

3

В get_suppliers():

$results = array(); // just in case there is no record 

foreach (...) { 
    $results[] = array(// you forgot the "[]" 
     ... 
    ); 
} 

Другая проблема: ваша модель (после исправления) возвращает массив массивов, тогда как ваше представление ожидает массив объектов.

Прямо в точку, вот ваш новый метод сексуальной модели:

public function get_suppliers() { 
    return $this->db 
     ->where('usertype', 'SUPPLIER') 
     ->get('users') 
     ->result(); 
} 
+0

Я свалка массива с помощью var_dump на странице просмотра и ниже, что я получил, но это правильно не тянет в Еогеаспе петля. Вы видите и выдаете с каждым циклом в представлении? array (1) {[0] => array (4) {["userid"] => string (1) "3" ["firstname"] => string (13) "SupplierFirst" ["lastname"] => string (12) «SupplierLast» ["company"] => string (9) "Supply Co"}} – jfur7

+0

Похоже, вы не читали мой ответ. Я только что отредактировал его, чтобы добавить готовый к использованию код. –

+0

Благодарим за помощь :), которая отлично поработала! – jfur7

0
public function get_suppliers(){ 
    $type = "SUPPLIER"; 
    $this->db->where('usertype', $type); 
    $query = $this->db->get('users'); 
    $results = array(); 
    foreach ($query->result() as $row){ 
     $results[] = array(
       'userid' => $row->userid, 
       'firstname' => $row->firstname, 
       'lastname' => $row->lastname, 
       'company' => $row->company 
     ); 

    } 
    return $results; 
} 
Смежные вопросы