Codeigniter: Неизвестный столбец stud.id в предложении where - PullRequest
2 голосов
/ 27 мая 2020

Я столкнулся с ошибкой «Неизвестный столбец 'stud.id' в 'where clause'. У меня нет Stud.id в моих файлах, а также в моей базе данных. Как вы думаете, в чем проблема? m с помощью Codeigniter 4.

Ниже мой код на моем контроллере:

    $model = new Mod_Stud();
    $id = $this->request->getVar('stud_id');

    $data = [
                'stud_id' => $this->request->getVar('stud_id'),
                'lname' => $this->request->getVar('lname'),
                'fname' => $this->request->getVar('fname'),
                'mname' => $this->request->getVar('mname'),
    ];

    $save = $model->update($id,$data);
    return redirect()->to( base_url('/') );

Код для моей модели:

    protected $table = 'stud';
    protected $allowedFields = ['stud_id', 'sy', 'dpt', 'grd', 'lname', 'fname', 'mname', 'gender', 'bday', 'birthplace', 'religion', 'nationality', 'country', 'address', 'f_name', 'f_occ', 'm_name', 'm_occ', 'g_name', 'g_rel', 'created_at', 'updated_at'];

Я уже исправил это!

Ниже приведены коды, которые я использую.

$model->set($data);
$model->where('stud_id', $id);
$model->update();

Ответы [ 3 ]

0 голосов
/ 27 мая 2020

unknown-column-stud-id-in-where-clause: - Эта ошибка возникает из-за базы данных ... потому что используемый столбец id недоступен в базе данных или неверен. Предположим, что у меня есть 3 столбца в моей таблице базы данных «ID», «Имя», «NO»

, поэтому, если нужно выбрать «ID», я должен использовать ключевое слово «ID», если я использую «id» вместо «ID» "тогда возникает эта ошибка (идентификатор-столбца-столбца в предложении-месте). поэтому, пожалуйста, проверьте столбцы своей базы данных и скопируйте и вставьте их в предложение where, которое вам нужно выбрать.

0 голосов
/ 30 мая 2020

Возможно, это поможет,

protected $primaryKey = 'stud_id';

удалите stud_id из ваших защищенных $ allowedFields

0 голосов
/ 27 мая 2020

обновление после комментариев:

у вас в вашей функции update () неверная последовательность параметров, она должна быть

$save = $model->update($data, ['id' => $id]);

См. Обновление данных

Этот ответ предполагает, что вы правильно загрузили свой построитель запросов

...