2017-08-27 28 views
0

我是codeigniter中的新成員。我在自定義庫中訪問數組數據時遇到了一些問題。如何將參數數組從模型發送到自定義庫並在codeigniter中訪問數組..

我的模型

<?php if(! defined('BASEPATH'))exit('No direct script access allowed'); 

     class Laporan_Gaji_M extends CI_Model { 
      function __construct() { 
      parent::__construct(); 
      $this->load->library("Payroll"); 
      $this->load->library("Payroll_J"); 
      $this->load->library("Payroll_G"); 
     } 

     function data_ku() 
     { 
     $sql = "SELECT a.idx, a.kode, a.jenis, a.nama, a.tgl_masuk, 
     a.status_karyawan, a.kelamin, a.status_tk, a.tunj_tetap, 
     a.tunj_jabatan, a.tunj_keahlian, a.medical_housing, a.upah_lembur, 
     a.gaji, c.nama AS nama_jabatan, a.kd_finger, b.* FROM 
     hrd_master_pegawai AS a LEFT JOIN hrd_laporan_absensi AS b ON 
     a.kd_finger = b.kode_finger AND b.bulan = '$bulan' LEFT JOIN 
     hrd_master_jabatan AS c ON a.jabatan = c.id_jabatan"; 

     $row = $this->db->query($sql); 

      foreach ($row->result_array() as $value) { 

      //print_r($value["jenis"]); 

      $data = new Payroll_G($value); // i try send to my custom library and access the arrays data but not working. 

      } 
    } 
} 

我試圖讓$value["jenis"]在模型和做工精細,

但是當我試圖讓$value["jenis"]在我的自定義庫。我得到消息

嚴重性:注意 消息:未定義指數:JENIS 文件名:庫/ Payroll_G.php **

這裏我自定義庫

<?php 

class Payroll_G extends Payroll { 

    function __construct($value = array()) { 
     parent::__construct(); 
     $this->hitung($value); 
    } 

    function hitung($value) { 
    print_r($value["jenis"]); 
    // message => Undefined index: jenis 

    } 
} 

謝謝提前

+0

只是一個提示:你命名你的類名和文件名不正確後續笨的方式HTTPS ://www.codeigniter.com/user_guide/general/styleguide.html#file-naming – user4419336

+0

先生@ wolfgang1983:已完成,但同樣是先生。你能幫我解決我的問題嗎?謝謝.. :) –

回答

0

當您最初l時發生錯誤由於$ value是空的,所以在Models的構造中加入庫。而且您還要重複初始化循環內部的類。

我建議你使用CodeIgniter的函數調用約定:

型號:

foreach ($row->result_array() as $value) { 

     $data = $this->Payroll_G->hitung($value); 

     } 

庫:

class Payroll_G extends Payroll { 

function __construct() { 
    parent::__construct(); 
} 

function hitung($value=array()) { 
print_r($value["jenis"]); 
} 
} 
+0

謝謝你回覆先生@chad。我的問題解決了,最後我使用了** require_once(APPPATH.'libraries/Payroll_G.php'); ** not ** $ this-> load-> library(「Payroll_G.php」); **。這很好。謝謝.. :) –

相關問題