【发布时间】:2014-06-23 08:18:02
【问题描述】:
我尝试使用 Laravel 框架中包含的 Eloquent ORM 在表中插入一条新记录,插入语句结果如下:
插入
table_x(field_x,field_y,field_z) 值(0、1、2)
我从 MySQL 服务器收到以下错误:
SQLSTATE[HY000]:一般错误:1364 字段“字段”没有 默认值
我没有在我的 INSERT 语句中提供该字段。该字段是 TEXT 类型,来自 MySQL 文档:“BLOB 和 TEXT 列不能有 DEFAULT 值”。
所以我总是必须在我的 php 代码中为 TEXT 字段提供一个默认值?或者也许 Eloquent 应该解决这个问题并在插入时自动设置一个空字符串?
【问题讨论】:
-
请提供您的表格架构
-
请在您的控制器中添加您的模型的填充和保存代码。也许您应该为模型中的空字段添加默认值。
-
我在模型中添加了默认值:protected $attributes = array('field' => '');
标签: php mysql laravel eloquent