2016-09-19 2 views
2

Ich habe dieses auf meiner Ansichtaktualisieren Datenbank Schaltfläche klicken in Laravel Form

{{ Form::open() }} 
@if($order->paid == 0) 
    <button type="submit" class="btn btn-primary" value="1">Mark Order as Paid</a> 
@else 
    <button type="submit" class="btn btn-primary" value="0">Mark Order as Unpaid</a> 
@endif 
{{ Form::close() }} 

Und dies in meinem Controller

public function ordersPaidSubmit($orderId) {  
    $order = Order::where('order_id', $orderId)->first(); 
    if (!$order) { 
     App::abort(404); 
} 

    $paid = Input::get('paid'); 
    $order->save(); 

    return Redirect::to('/admin/orders'); 
} 

Ist es möglich Wert Tasten 0 oder 1 wie diese zu geben und Klicken Sie auf, um die Datenbankspalte zu aktualisieren? Derzeit wird nicht aktualisiert, aber wie kann man aktualisieren?

Antwort

2

Sie können in jeder Taste wie dieses verstecktes Feld setzen:

{{ Form::open() }} 
@if($order->paid == 0) 
    {{ Form::hidden('paid', 1, ['id' => 'paid']) }} 
    <button type="submit" class="btn btn-primary" value="1">Mark Order as Paid</a> 
@else 
    {{ Form::hidden('paid', 0, ['id' => 'paid']) }} 
    <button type="submit" class="btn btn-primary" value="0">Mark Order as Unpaid</a> 
@endif 
{{ Form::close() }} 

So versteckte Feld sieht aus wie

<input id="paid" name="paid" type="hidden" value="1"> 
and 
<input id="paid" name="paid" type="hidden" value="0"> 

Ich bin sicher, dass Sie $order nicht $paid in Ihrem verwenden möchten Regler. Also diese Zeile ändern

$paid = Input::get('paid'); 

Whit

$order->paid = Input::get('paid'); 

Und Ihre Form Tasten funktionieren.

Verwandte Themen