问题描述
实际行为
使用 Livewire 时,通过它触发的任何事件,例如创建。审核未注册该事件。
预期行为创建一个新条目,例如通过 Livewire 获得的线索,应该被审计捕获并相应地添加。
重现步骤 $validated = $this->validate();
//Manually set defaults
$validated['lead_type'] = 'Manual';
$validated['is_approved'] = 1;
$validated['rating'] = $this->rating;
if ($validated['lead_temp'] == 'Temp') {
$validated['lead_temp'] = 'Default';
}
if ($validated['lead_status_id'] == 0) {
$validated['lead_status_id'] = '1'; //default set to unassigned
}
//Manually set IDs
$validated['company_id'] = auth()->user()->company_id;
$validated['flag_alert_id'] = 1;
$validated['campaign_id'] = 1;
$validated['quote_id'] = 1;
$validated['quote_data_id'] = 1;
$validated['form_id'] = 1;
$validated['form_data_id'] = 1;
$validated['number_id'] = 1;
$validated['email_id'] = 1;
if(!empty($validated['user_id']) || $validated['user_id'] == 0) {
$validated['user_id'] = auth()->user()->id;
}
else {
$validated['user_id'] = $this->user_id;
}
$leadID = Lead::create($validated)->id;
if(!empty($this->products)){
$this->linkProductsToLeads($leadID);
}
if(!empty($this->files)){
$this->uploadFiles($leadID);
}
$this->resetForm();
session()->flash('snack-success','Lead successfully created!');
$this->dispatchbrowserEvent('success-shown');
}
其中“$leadID = Lead::create($validated)->id”不会出现在数据库中。
可能的解决方案我不知道如何解决这个问题,在这种情况下,当通过控制器使用基于 Laravel 的正常创建时,LeadsController 会显示在审计表中。通过 JS Ajax 并命中端点的系统的其他部分工作得非常好,似乎是 Livewire 特定的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)