Image upload in Nova resulting in SQL General error: 1364 Field doesn't have a default value

Image upload in Nova resulting in SQL General error: 1364 Field doesn't have a default value

鉴于新星class

class Article extends Resource
{
    // [...]
    public function fields(Request $request)
    {
        return [
            ID::make()
                ->sortable(),

            Image::make('Image', 'filename')
                ->disk('public')
                ->path('articles')
                ->prunable(),
        ];
    }
    // [...]
}

上传图片时为什么会出现此错误?

SQLSTATE[HY000]: General error: 1364 Field 'filename' doesn't have a default value (SQL: insert into `article` (`id`, `updated_at`, `created_at`) values (143, 2021-06-07 12:35:36, 2021-06-07 12:35:36))

有些图片可以上传,有些则不能。这不是因为它们的文件类型,因为一些 .png 可以工作,而另一些则不能。

此错误消息具有误导性。问题是文件大小:当它大于 3MB 时,它会抛出这个错误。

我建议在字段本身上添加帮助消息,直到 Laravel Nova 使用更清晰的消息,如下所示:

Image::make('Image', 'filename')
    ->disk('public')
    ->path('teacher_images/source')
    ->prunable()
    ->help('Size: 3MB maximum')