通过关系结果保存新记录无法将值NULL插入列' created_at#39;

时间:2014-04-09 08:12:23

标签: php laravel laravel-4

我有2个具有多对多关系的模型, 当它试图检索数据时一切正常,所以关系正常。但当我试图通过我得到的关系保存新数据时

SQLSTATE[23000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot insert the value NULL into column 'created_at', table 'dlist.dbo.dlist_employee'; column does not allow nulls. INSERT fails. (SQL: insert into [dlist_employee] ([dlist_id], [employee_id]) values (2, 26))

这是我的代码:

   $new_employee = new Employee(array('name' => 'name','username' => 'username','email' => 'email'));

   $dlist = Dlist::find(2)->employees()->save($new_employee);

据我所知,created_at和updated_at字段自动填充。因为我可以成功提取数据(正确定义关联关系) - 我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

看起来保存脚本试图在数据库表的created_at列中插入“null”。

尝试将数据库中的“created_at”列设置为“nullable”。

答案 1 :(得分:1)

请检查:this regarding timestamps

您的模型是否有public $timestamps = false;? 如果是,那么您需要手动处理时间戳

同时检查迁移(如果这是您用于创建表的系统)是否具有created_at的正确列定义updated_at