我在一個模型上定義了一個模型事件,每次創建記錄時我都會添加與該記錄相關的用戶的公司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匯入器,這兩個功能都被所有的Laravel應用程式強烈使用,所以我沒有機會修改匯入器或CRUD表單。
在使用csv匯入器之前,模型上的$fillable屬性沒有被定義。
uj5u.com熱心網友回復:
最后我放棄了這個問題,并停止在記錄上添加company_id,因為我不能確定這些記錄是通過csv匯入還是CRUD形式創建的。
uj5u.com熱心網友回復:
你可以采取你的模型并將陣列['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://www.uj5u.com/qukuanlian/320623.html
標籤:
上一篇:在laravel中使用socialite通過特定的衛士登錄
下一篇:在vuejs中編輯默認分頁?
