【发布时间】:2012-10-15 00:29:46
【问题描述】:
我有这样的模型
function getlastval($prefix,$namatable, $namafield)
{
$this->db->order_by($namafield,'DESC');
$key = $this->db->get($namatable);
if($key->num_rows()>0)
{
$lastval= $key->row()->Kode_Material_Jasa;
$lastval = explode($prefix,$lastval);
$lv = $lastval[1]; //line 18 refer to this line
//return ltrim($lv, '0');
}
else
{
return 0;
}
}
function gencode($prefix, $digit, $lastval)
{
return $prefix . str_pad($lastval+1, $digit, '0', STR_PAD_LEFT);
}
它适用于早期的控制器
function addkategorimaterial()
{
$this->load->model('m_admin');
$lastval = $this->m_admin->getlastval('KKMJ','ms_kategori_material','Kode_Kategori_Material_Jasa');
$data['nextval'] = $this->m_admin->gencode('KKMJ',3,$lastval);
$data['title'] = 'QB Tambah Kategori Material';
$this->load->view('head',$data);
$this->load->view('content/add_kategori_material');
}
它返回KKMJ001,但它在另一个控制器上不起作用
$this->load->model('m_admin');
$lastval = $this->m_admin->getlastval('KMJ','ms_material_jasa','Kode_Material_Jasa');
$data['nextval'] = $this->m_admin->gencode('KMJ',3,$lastval);
$data['kkmj']='';
$data['title'] = 'QB Tambah Material / Jasa';
print_r($data['nextval']);
print_r($lastval);
所以函数会返回KMJ001,错误是这样的
我该如何解决这个问题?
【问题讨论】:
-
能否请您编辑您的问题并发布您文件中的第 18 行。谢谢。
-
@EricLeroy 我猜是
$lv = $lastval[1]; -
我假设第 18 行是这样的:$lv = $lastval[1];
-
我猜你在失败实例中的
Kode_Material_Jasa属性不包含字符串KMJ所以explode()只返回一个单项数组(没有1索引)跨度> -
@jeffrey 所以 $lastval 将包含数据库上
Kode_Material_Jasa字段上的值,而 $lastval 是我想通过附加到$lastval的分隔符$prefix来分割它们
标签: php codeigniter explode