Я пытаюсь обновить свою БД с помощью AJAX, если есть какие-то изменения, но мне кажется, что-то упущено.
Мой контроллер:
// Update dates
public function updateDates(Request $request)
{
// dd($input);
$event = new Event();
$event->invoice = $request->input('invoice');
$event->paid = $request->input('paid');
$event->save();
return response()->json(['success'=>'Got Simple Ajax Request.']);
}
Маршруты:
//Events
Route::resource('event', 'EventController');
Route::post('/updateDates', ['as' => 'updateDates', 'uses' => 'EventController@updateDates']);
Jquery:
$('.datepickerstart').datepicker({
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd'
}).on('changeDate', function(e) {
e.preventDefault();
var update_id = $(this).data('evid');
var invoice = $("input[name=invoice_date]").val();
var payment = $("input[name=payment_date]").val();
console.log(update_id, invoice, payment);
$.ajax({
method:'post',
url:'{{ route("updateDates") }}',
dataType:'JSON',
data: {
id : update_id,
invoice : invoice,
paid : payment
},
success: function(data) {
alert(data.success);
}
});
});
Я записываю в консоль правильные данные перед ajax публикацией. Не могу даже запросить dd () в моем контроллере, что я делаю не так?
Ошибка консоли:
VM4649: 1 POST http://localhost: 8000 / updateDates 500 (внутренняя ошибка сервера)
Я получал "неопределенное" раньше.
ОБНОВЛЕНИЕ: решено, после просмотра журналов. Я создавал новые объекты вместо того, чтобы обновлять их, и получил ошибку: нет значения поля по умолчанию