以laravel形式更新按钮单击数据库

时间:2016-09-19 14:33:49

标签: php database forms laravel-4

我的观点是

{{ 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() }}

这在我的控制器中

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');
}

是否可以像这样按钮01以及点击更新数据库列?目前还没有更新,但如何更新?

1 个答案:

答案 0 :(得分:1)

您可以在每个按钮中放置一个隐藏字段,如下所示:

{{ 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() }}

所以隐藏字段看起来像

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

我确定您要在控制器中使用$order而不是$paid。所以改变这一行

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

丝毫

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

您的表单按钮将起作用。