无法在 CodeIgniter 4 中插入数据

Unable to insert data in CodeIgniter 4

我正在试用 CodeIgniter 4,但在插入数据时遇到问题。

在我的模型中,我只定义了 table 名称,没有方法,什么都没有。我可以在 table 中显示所有数据,但在插入数据时出现问题。

我的控制器代码如下:

$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。 如果我在 try-catch 之前 die('asd') 我可以看到消息,所以这让我觉得在 insert 方法调用期间发生了一些事情。

我该如何调试它?

如果您在模型中定义的只是 table 名称,那么您从未定义 $allowedFields (https://codeigniter.com/user_guide/models/model.html):

This array should be updated with the field names that can be set during save, insert, or update methods.

您应该通读该文档。此外,您可以通过查看项目 writable/logs 目录中的日志来解决这些问题,尽管在这种情况下 CI 不会认为这是一个失败,因为您没有定义允许进入数据库的内容。