2014-09-26 39 views
0

我試圖將數據從模型傳遞給控制器​​,以便通過json將它傳遞給ajax頁面,但我沒有正確的方法做到目前爲止,我嘗試過以下代碼。如何將json數據從模型傳遞到codeignitor中的控制器

在我的控制器;

public function grid_view_ajax_function() 
     {  
      $contacts_details=""; 
      $this->load->model('contact_model'); 
      $contacts_details= $this->contact_model->get_all_contacts(); 

      $data['id']    =$contacts_details->contact_id; /getting error here 
      $data['first_name']  =$contacts_details->first_name; /" 
      $data['last_name']   =$contacts_details->last_name; /" 
      $data['title']    =$contacts_details->title; /" 
      $data['city']    =$contacts_details->city; /" 
      $data['country']   =$contacts_details->country_id;/" 
      $data['city']    =$contacts_details->city;/" 
      $data['contact_mobile'] =$contacts_details->contact_mobile; 
      $data['unique_id']   =$contacts_details->unique_id; 

      echo json_encode(array('id'=>$data['id'],'first_name'=>$data['first_name'],'last_name'=>$data['last_name'],'title'=>$data['title'],'city'=>$data['city'],'coutry'=>$data['contact_mobile'],'unique_id'=>$data['unique_id'])); 

     } 

我的模型

public function get_all_contacts() { 
     $this->db->select("c.id contact_id, c.salutation salutation, c.honorfic honorfic, c.first_name first_name, c.middle_name middle_name, c.last_name last_name, c.email_primary email_primary, c.email_secondry email_secondry, c.contact_mobile contact_mobile, c.contact_home contact_home, DATE_FORMAT(c.dob, '%e %M %Y') dob, c.image image, c.marital_status marital_status, c.spouse_name spouse_name, c.title title, c.email_work email_work, c.contact_work contact_work, c.assistant_name assistant_name, c.assistant_email assistant_email, c.address address, c.city city, c.state state, c.country_id country_id, c.postbox postbox, c.biography biography, c.created_by created_by, c.modified_by modified_by, c.created_on created_on, c.modified_on modified_on", false); 
     $this->db->from("contact c"); 
     $this->db->where("c.flag_delete", '0');  
     $obj_result = $this->db->get(); 
     $row   = $obj_result->result_array(); 


     return $row; 
    } 

我收到錯誤「試圖獲得非對象的財產」 謝謝。

回答

1

變化$obj_result->result_array()$obj_result->result()和嘗試

  $contacts_details_list= $this->contact_model->get_all_contacts(); 
     $result = array(); 
     foreach($contacts_details_list as $contacts_details) { 
      $data = array(); 
      $data['id']    =$contacts_details->contact_id; /getting error here 
      $data['first_name']  =$contacts_details->first_name; /" 
      $data['last_name']   =$contacts_details->last_name; /" 
      $data['title']    =$contacts_details->title; /" 
      $data['city']    =$contacts_details->city; /" 
      $data['country']   =$contacts_details->country_id;/" 
      $data['city']    =$contacts_details->city;/" 
      $data['contact_mobile'] =$contacts_details->contact_mobile; 
      $data['unique_id']   =$contacts_details->unique_id; 

      array_push($result, $data); 
      } 

      echo json_encode(array('data' => $result)); 
+0

它不工作...仍然有相同的錯誤。 – saji 2014-09-26 11:23:41

+0

您在$ row中獲得單個或多個結果? – 2014-09-26 11:24:51

+0

它的多個... – saji 2014-09-26 11:25:22

1

function get_all_contacts()恢復正常的陣列和你想執行它作爲stdClass的對象。

讓它result()並將其添加到循環或更改$contacts_details->contact_id;

$contacts_details['contact_id]';並請refer

相關問題