为了账号安全,请及时绑定邮箱和手机立即绑定

调用未定义的方法 CodeIgniter\Database\MySQLi\Builder

调用未定义的方法 CodeIgniter\Database\MySQLi\Builder

PHP
有只小跳蛙 2023-09-15 18:36:08
我正在尝试为我的表制作一个代码生成器这是我的模型:public function buat_kode()   {    $this->db->table('RIGHT(proses_cutting.kode_packing_list,6) as kode', FALSE);    $this->builder()->orderBy('kode_packing_list','DESC');        $this->builder()->limit(1);          $query = $this->db->table('proses_cutting');      //cek dulu apakah ada sudah ada kode di tabel.          if ($query->num_rows() <> 0){             //jika kode ternyata sudah ada.              $data = $query->row();              $kode = intval($data->kode) + 1;          }      else {             //jika kode belum ada              $kode = 1;          }      $kodemax = str_pad($kode, 6, "0", STR_PAD_LEFT); // angka 4 menunjukkan jumlah digit angka 0      $kodejadi = "PLIK059".$kodemax;    // hasilnya ODJ-9921-0001 dst.      return $kodejadi;    }控制器 :public function create(){    session();    $data = [        'main' => 'prosescutting/create',        'validation' => \Config\Services::validation(),        'title' => 'Form Tambah Proses Cutting',        'kodeunik' => $this->pcuttingModel->buat_kode(),        'kode_packing_list' => $kodePackingSekarang,    ];    return view('template/template', $data);}和我的桌子: 桌子我想做的是为 nama_barang 的每个项目制作一个 kode_packing_list 生成器,这样当我输入另一件 Renata Blouse 时,它会自动填充PLIK059000007但是当我尝试运行它时,它向我显示了以下错误:错误调用未定义的方法 CodeIgniter\Database\MySQLi\Builder::num_rows() APPPATH\Models\PcuttingModel.php 第 33 行第 33 行是if ($query->num_rows() <> 0){  
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

您使用了错误的数据库表函数,请尝试以下操作:


$db = \Config\Database::connect(); // optional; init database if not created yet


$builder = $db->table('proses_cutting');

$builder->select('RIGHT(proses_cutting.kode_packing_list,6) as kode');

$builder->orderBy('kode_packing_list','DESC');

$builder->limit(1);


if($builder->countAllResults() > 0) {

    $query = $builder->get();

    $result = $query->getResult(); // Result as objects eg; $result->kode

    $kode = $result->kode;

}


// Other option: I believe you can do this too


$builder = $db->table('proses_cutting');

$builder->select('RIGHT(proses_cutting.kode_packing_list,6) as kode');

$builder->orderBy('kode_packing_list','DESC');

$builder->limit(1);


$query = $builder->get();

$result = $query->getResult('array');

if(is_array($result) && count($array) > 0) {

    $kode = $result['kode'];

}

查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信