Laravel 检测质量分配
Laravel detect mass assigning
我在模型上定义了一个模型事件,每次创建记录时我都会添加与该记录相关的用户公司 ID。
一切正常,但我正在通过 csv 导入批量分配记录,我必须将公司 ID 设置为 null。
如何在 Laravel 中检测到我在进行大量分配?
这是我的模特活动:
protected static function boot()
{
parent::boot();
static::creating(function (Product $model) {
$model->company_owner_id = session()->get('currentCompany.id');
});
}
我还没有完成存储通过 CRUD 创建的记录的控制器功能,既没有 csv 导入器,也没有被所有 Laravel 应用程序强烈使用,所以我没有机会修改导入器或 CRUD表格.
在使用 csv 导入器之前,未定义模型上的 $fillable 属性。
您可以使用您的模型并将数组 ['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');
});
}
最后我放弃了这个并停止在记录上添加 company_id 因为我无法确定记录是通过 csv 导入还是 CRUD 形式创建的。
我在模型上定义了一个模型事件,每次创建记录时我都会添加与该记录相关的用户公司 ID。
一切正常,但我正在通过 csv 导入批量分配记录,我必须将公司 ID 设置为 null。
如何在 Laravel 中检测到我在进行大量分配?
这是我的模特活动:
protected static function boot()
{
parent::boot();
static::creating(function (Product $model) {
$model->company_owner_id = session()->get('currentCompany.id');
});
}
我还没有完成存储通过 CRUD 创建的记录的控制器功能,既没有 csv 导入器,也没有被所有 Laravel 应用程序强烈使用,所以我没有机会修改导入器或 CRUD表格.
在使用 csv 导入器之前,未定义模型上的 $fillable 属性。
您可以使用您的模型并将数组 ['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');
});
}
最后我放弃了这个并停止在记录上添加 company_id 因为我无法确定记录是通过 csv 导入还是 CRUD 形式创建的。