我在一个模型上定义了一个模型事件,每次创建一条记录时,我都会添加与该记录相关的用户公司id。
一切正常,但我正在通过csv导入批量分配记录,并且我必须将公司id设置为空。
当我进行大规模赋值时,如何在Laravel中进行检测?
这是我的模型事件:
protected static function boot()
{
parent::boot();
static::creating(function (Product $model) {
$model->company_owner_id = session()->get('currentCompany.id');
});
}我还没有完成存储通过CRUD表单创建的记录的控制器功能,csv导入器和csv导入器都没有被所有Laravel应用程序强烈使用,所以我没有机会修改导入器或CRUD表单。
在使用csv导入器之前,没有定义模型上的$fillable属性。
发布于 2021-08-10 09:18:59
最后,我放弃了这一点,停下来在记录上添加company_id,因为我不能确定记录是通过csv导入还是通过CRUD表单创建的。
发布于 2021-08-09 14:30:00
您可以获取您的模型并将数组'company_owner_id‘添加到此模型的文件标签中。如果您将创建逻辑放在导入控制器中,而不是放在服务提供者中,那么它只会从那里运行。
protected static function boot()
{
parent::boot();
static::creating(function (Product $model) {
$now_fillable=['company_owner_id'];
$model->mergeFillable($now_fillable);
$model->company_owner_id = session()->get('currentCompany.id');
});
}https://stackoverflow.com/questions/68713275
复制相似问题