Объект класса CodeIgniter \ Database \ MySQLi \ Builder не может быть преобразован в строку - PullRequest
1 голос
/ 07 августа 2020

Вот мой контроллер:

public function create()
{
    session();
    $data = [
        'main' => 'prosescutting/create',
        'validation' => \Config\Services::validation(),
        'title' => 'Form Tambah Proses Cutting',
        'kodeunik' => $this->pcuttingModel->buat_kode()
    ];
    return view('template/template', $data);
}

Модель:

public function buat_kode()   { 
    
    $query = $this->db->table('proses_cutting')
                        ->orderBy('kode_packing_list', 'DESC')
                        ->limit(1);
    // $kodemax = $kode;
    // $kodejadi = "PLIK059".$kodemax;
    return $query;

Он показывает мне ошибки Объект класса CodeIgniter \ Database \ MySQLi \ Builder не может быть преобразован в строку строка, которая отображается, была

<td><input type="text" name='kode_packing_list' class="form-control" value="<?= $kodeunik; ?>" readonly></td>

, что на мой взгляд / создание. php

Ответы [ 2 ]

0 голосов
/ 07 августа 2020

Поскольку вы работаете с codeigniter 4. Сделайте это, чтобы помочь вам решить эту проблему

В вашем контроллере

public function create()
{
    session();
    $data = [
        'main' => 'prosescutting/create',
        'validation' => \Config\Services::validation(),
        'title' => 'Form Tambah Proses Cutting',
        'kodeunik' => $this->pcuttingModel->buat_kode()
    ];
    return view('template/template', $data);
}

Модель:

public function buat_kode()   { 
    
    $query = $this->db->table('proses_cutting')
                        ->orderBy('kode_packing_list', 'DESC');
    // $kodemax = $kode;
    // $kodejadi = "PLIK059".$kodemax;
    return $query->get()->getRow();

Тогда, поскольку вы назначаете выборку данных объекта из модели в индекс массива kodeunik, назовите это как объект в файле представления, например, $kodeunik->what_column_name_you_are_calling_from_database;

То есть

<td><input type="text" name='kode_packing_list' class="form-control" value="<?= $kodeunik->what_column_name_you_are_calling_from_database; ?>" readonly></td>

Надеюсь, это помочь тебе. Если не привлеките мое внимание. Готов помочь вам

0 голосов
/ 07 августа 2020

Вы должны установить результат в CodeIgniter. Вроде так;

$result = $query->row_array(); // For single row as array
$result = $query->row(); // Single object

$result = $query->result_array(); // For multiple rows as array
$result = $query->result(); // For multiple rows as objects

Модель:

public function buat_kode() { 
     $query = $this->db->table('proses_cutting')
                    ->orderBy('kode_packing_list', 'DESC')
                    ->limit(1);   
     $return = $query->row_array();
     return $return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...