Я перестраиваю приложение в Laravel и в настоящее время использую следующий код, я думаю, он будет называться AJAX.
$('.date').change(function () {
var date = $('.date').val();
$('#date_summary').html(date);
if (date == "") {
$('#date_summary').html('Choose your service date...');
} else if ($.trim(date) !== '') {
$.get('/calendar.php', {
date: date
}, function (data) {
var data = data.toString();
$('#date_data').html(data);
});
}
});
$('.calendar').trigger('change');
Чтобы получить этот код:
if ( isset($_GET['date']) === true && empty($_GET['date']) === false ) {
global $db;
$date = $_GET['date'];
$query = "select * from appointments where Day = :date";
$statement = $db->prepare($query);
$statement->bindValue(':date', $date);
$statement->execute();
$result = $statement->fetch();
$statement->closeCursor();
$eight_to_nine = $result['8AM_9AM'];
$nine_to_ten = $result['9AM_10AM'];
$ten_to_eleven = $result['10AM_11AM'];
$eleven_to_twelve = $result['11AM_12PM'];
$twelve_to_one = $result['12PM_1PM'];
$one_to_two = $result['1PM_2PM'];
$two_to_three = $result['2PM_3PM'];
$three_to_four = $result['3PM_4PM'];
$four_to_five = $result['4PM_5PM'];
$five_to_six = $result['5PM_6PM'];
$six_to_seven = $result['6PM_7PM'];
if ($eight_to_nine != 1) {
echo "<option value='8AM_9AM'>8:00AM - 9:00AM</option>";
}
if ($nine_to_ten != 1) {
echo "<option value='9AM_10AM'>9:00AM - 10:00AM</option>";
}
if ($ten_to_eleven != 1) {
echo "<option value='10AM_11AM'>10:00AM - 11:00AM</option>";
}
if ($eleven_to_twelve != 1) {
echo "<option value='11AM_12PM'>11:00AM - 12:00PM</option>";
}
if ($twelve_to_one != 1) {
echo "<option value='12PM_1PM'>12:00PM - 1:00PM</option>";
}
if ($one_to_two != 1) {
echo "<option value='1PM_2PM'>1:00PM - 2:00PM</option>";
}
if ($two_to_three != 1) {
echo "<option value='2PM_3PM'>2:00PM - 3:00PM</option>";
}
if ($three_to_four != 1) {
echo "<option value='3PM_4PM'>3:00PM - 4:00PM</option>";
}
if ($four_to_five != 1) {
echo "<option value='4PM_5PM'>4:00PM - 5:00PM</option>";
}
if ($five_to_six != 1) {
echo "<option value='5PM_6PM'>5:00PM - 6:00PM</option>";
}
if ($six_to_seven != 1) {
echo "<option value='6PM_7PM'>6:00PM - 7:00PM</option>";
}
}
Myвопрос в том, есть ли более элегантный способ сделать это в Laravel? Я просто пытаюсь реализовать то, что считается лучшей практикой. Я думаю, что это будет чем-то вроде API? Любая помощь приветствуется.