2016-10-07 10 views
0
... 
$('#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); 
       ... 
} 

おはよう。 "check_ticket"ボタンをクリックするたびに、テーブル "チケット"、列 "回used_"のデータを増やしたいと思いました。誰でも助けてくれますか?私はこれが愚かな質問だと思うが、Im noobだから私に簡単に行ってください。LaravelでAjaxを使用したデータベースのデータを増やす

答えて

0

LaravelのMVCフレームワークの仕組みを理解していることは、少なくとも質問からは分かりません。 AJAXメソッドから、データをコントローラに渡したいとします。このコントローラパスは、routes.phpファイル(< L5.3)またはweb.phpファイル(L5.3)に設定されます。上記CouponControllerコントローラのインクリメントメソッドに渡される「updateCoupon」の経路を示し

Route::post('updateCoupon', '[email protected]'); 

そのルートは、次のようになります。これはあなたがクーポンでやりたいだけのものがある場合は、あなただけのルート/ Webファイル内の単純な閉鎖作ることができます:

Route::post('updateCoupon', function(){ 
    $couponId = \Input::get('couponId'); 
    $coupon = App\Coupon::find($couponId); 
    $coupon->times_used ++; 
    $coupon->save(); 

を});

これはおおまかな例です。クーポンクラスはあなたが呼び出すことができる「モデル」クラスであり、times_usedはそのクラス内のフィールドになります。上記のクロージャのメソッドは、単一のメソッド/クロージャを超えて拡張したい場合は、コントローラクラスに配置するメソッドと似ている可能性があります。クーポンが複数ある場合は、ajaxからIDを渡します。アヤックスからURLを呼び出す

あなたは上記の持っているものよりも簡単です、あなただけのことができます。

url: "{{url('updateCoupon')}}" 

あなたはroutes.phpの/ web.phpに設定されたルートを持っていたら。 Laravelの 'url'メソッドは魔法のように正しい経路を得ます。

要点:DB内のtimes_usedを増やしたい場合は、couponId以外のajaxから何も渡す必要はなく、クーポンが1つだけの場合は必要ありません。次にそれはちょうど:

$coupon = App\Coupon::find(1); 

そして残りはすべて同じです。

+0

ご回答いただきありがとうございます。私は今それを試してみましょう。それがうまくいくかどうかわかります。 –

関連する問題