...
$('#check_ticket').click(function() {
$.ajax({
type: "POST",
url: "{{ Extras::getEUserURLPath(Auth::user()->user_id, '/ajax/setticket') }}",
dataType: 'json',
data: {
ticket: $('#ticket_field').val(),
reservation_id: $('#reservation_id').val(),
user_id: {{ Auth::user()->user_id }},
_token: $('input[name="_token"]').val(),
},
success: function(data) {
if (data.response == true && data.disable == true) {
$('#ticket_field').next().html('Successfully applied ticket!');
$('#ticket_field').prop('disabled', true);
location.reload(true);
...
}
美好的一天。我想增加表格上的数据" 票证",列" times_used "每当我点击" check_ticket "按钮。谁能帮我?我认为这是一个愚蠢的问题,但我不喜欢,所以请放轻松我。
答案 0 :(得分:0)
我想也许你对Laravel在MVC框架方面的工作方式的理解是缺少一点 - 至少从问题:)。从AJAX方法,您希望将数据传递给控制器。此控制器路径将在routes.php文件(< L5.3)或web.php文件(L5.3)中设置。
该路线看起来像:
Route::post('updateCoupon', 'CouponController@increment');
以上显示了“更新优惠”的路线。传递给CouponController控制器的增量方法。或者,如果这是您想要使用优惠券的唯一方法,您可以在路线/网络文件中进行简单的关闭:
Route::post('updateCoupon', function(){
$couponId = \Input::get('couponId');
$coupon = App\Coupon::find($couponId);
$coupon->times_used ++;
$coupon->save();
});
这是一个粗略的例子 - 优惠券类将是一个'模型'你可以调用的类,times_used将是该类中的一个字段。如果你想扩展到单个方法/闭包之外,上面闭包中的方法可能类似于你在控制器类中放置的方法。如果您有多个优惠券,请从ajax传递ID。
从ajax调用URL比上面的更容易,你可以:
url: "{{url('updateCoupon')}}"
在routes.php / web.php中设置路由后。 Laravel' url'方法神奇地使路由正确。
底线:如果您想要做的就是增加数据库中的times_used,那么除了couponId之外,你不需要从ajax传递任何东西,如果只是你,你甚至不需要有一张优惠券。那就是:
$coupon = App\Coupon::find(1);
其余的都是一样的。