我有一个控制器,可以创建一个新模型,然后将其传递给视图
public function fill_site_form($id, $step_id, $form_id){
$form = new FormEntry();
$form->site_id = $id;
$form->form_id = $form_id;
$form->step_id = $step_id;
$form->entry_json = Form::find($form_id)->form_json;
$form->save();
return view('sites.fill_site_form', ['form' => $form]);
}
我只需要它在数据库中创建一条记录,但是每次我去那条路线时,它都会创建2条记录。
我删除了-> save,然后没有记录插入数据库。
有什么建议吗?
编辑:
$ form-> save中数据库条目的图像: SCREENSHOT IMAGE LINK
数据库架构:
Schema::create('form_entries', function (Blueprint $table) {
$table->increments('id');
$table->integer('site_id');
$table->integer('form_id');
$table->integer('step_id');
$table->text('entry_json', 600000);
$table->timestamps();
});
从sites.fill_site_form视图接收ajax的代码
public function update_site_ajax($id, Request $request){
$entry = FormEntry::find($id);
$entry->entry_json = json_encode($request->form_json);
$entry->save();
return $request->all();
}
前端AJAX代码:
$('#submit_button').click((e)=>{
$.ajax({
type:'PATCH',
url:'/site/' + document.getElementById('form_id').value,
data: {'form_json' : renderer.userData},
success:function(data){
$.notify("Form successfully Updated!",
{
position:"top center",
className: 'success'
}
);
console.log('Response: ', data)
}
});
});
答案 0 :(得分:0)
我无法在Model :: create或Model-> save上使用它,因此我求助于Model :: firstOrCreate,它看起来更稳定,但仍然想知道为什么只有在该模型上它才能创建两个条目>