Невозможно вставить данные в CodeIgniter 4

Я пробую CodeIgniter 4, и у меня проблема со вставкой данных.

В моей модели я определил только имя таблицы, никаких методов, ничего. Я могу отобразить все данные в своей таблице, но когда дело доходит до вставки данных, что-то идет не так.

Мой код контроллера выглядит так:

$data = [
            'sum' => '23',
            'type' => 'in',
            'name' => 'asd'
        ];


        $expense = new ExpensesModel();

        try {
            var_dump($expense->insert($data));

        } catch (\ReflectionException $e) {
            var_dump($e);
        }

Когда я вызываю эту конечную точку с помощью Postman, я получаю 500 internal server error. Если я die('asd') перед try-catch, я вижу сообщение, поэтому я думаю, что что-то происходит во время вызова метода insert.

Как я могу отладить это?


person VSCoderNPM    schedule 30.12.2020    source источник


Ответы (1)


Если все, что вы определили в модели, было именем таблицы, то вы никогда не определяли $allowedFields (https://codeigniter.com/user_guide/models/model.html):

Этот массив должен быть обновлен именами полей, которые могут быть установлены во время методов сохранения, вставки или обновления.

Вероятно, вам следует прочитать эту документацию. Кроме того, вы могли бы устранять эти проблемы, просматривая журналы в каталоге writable/logs вашего проекта, хотя в этом случае CI не счел бы это ошибкой, поскольку вы не определили, что разрешено в БД.

person parttimeturtle    schedule 05.01.2021