У меня есть контроллер, который создает новую модель, а затем передает ее в представление
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 записи каждый раз, когда я иду по этому маршруту.
Я удалил -> сохранить, а затем записи в БД не вставляются.
Есть предложения?
Редактировать:
Изображение записей БД в $ form-> save: ССЫЛКА ИЗОБРАЖЕНИЯ ИЗОБРАЖЕНИЯ
Схема БД:
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();
});
Код, который получает ajax из представления sites.fill_site_form
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)
}
});
});