Database Laravel关系(用户上传)

Database Laravel关系(用户上传),database,laravel,relationships,Database,Laravel,Relationships,当我试图用file upload函数保存数据时,会出现以下错误,因为我已经向我的表声明了一个新的uploader_id,它应该从我在模型中编写的关系中获取其值 Illuminate \ Database \ QueryException SQLSTATE[HY000]: General error: 1364 Field 'uploader_id' doesn't have a default value (SQL: insert into `assets` (`filename`, `titl

当我试图用file upload函数保存数据时,会出现以下错误,因为我已经向我的表声明了一个新的uploader_id,它应该从我在模型中编写的关系中获取其值

Illuminate \ Database \ QueryException
SQLSTATE[HY000]: General error: 1364 Field 'uploader_id' doesn't have a default value (SQL: insert into `assets` (`filename`, `title`, `body`, `filepath`, `extension`, `realpath`, `mime`, `updated_at`, `created_at`) values (users.mov, New, dummy text data. , /uploads/User Test/2014-03-04_00:48, mov, /private/var/tmp/phpHDpmEI, video/quicktime, 2014-03-04 00:48:59, 2014-03-04 00:48:59))
在我的模型中,我定义了以下内容

用户模型:其中是数据库中uploads表的表名

public function assets() {
    return hasMany('assets');
}
上传模式:

public function user() {
    return belongsTo('user', 'uploader_id');
}
我在我的控制器中尝试过使用Upload::create(array())函数将数据发布到数据库,以添加另一个名为'uploader_id'=>Auth::user()->id的参数;但这些都不管用


在用户每次上传文件时,向表单传递uploader_id的最佳方式是什么

这就是活动的目的:

类资产扩展雄辩{
公共静态函数boot()
{
静态::创建(函数($model)
{
$model->uploader\u id=Auth::user()->id;
});
}
}

您的关系也应该引用他们的类-

return $this->hasMany('Asset');

谢谢那么启动时的启动功能是什么?这是如何工作的?@cchacholiades-启动方法被调用。这给了你一个举办活动的机会,这就是我在这里所做的。