2017-08-27 31 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”); **。这很好。谢谢.. :) –

相关问题