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

我正在尝试为我的表制作一个代码生成器


这是我的模型:


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){  


有只小跳蛙
浏览 90回答 1
1回答

摇曳的蔷薇

您使用了错误的数据库表函数,请尝试以下操作:$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'];}
打开App,查看更多内容
随时随地看视频慕课网APP