Обновление выписки из laravel не работает - PullRequest
0 голосов
/ 22 января 2019

У меня есть две кнопки: 1 - вставить данные в базу данных, 2 - обновить первую строку ... Я пытаюсь обновить первую строку из базы данных, и функция не работает.

мои кнопки:

<form action="{{action('CashierController@openCashier')}}" method="post">
    @csrf
    <button type="submit" class="btn btn-primary" style="margin-top: 10px">Iniciar Caixa</button>
</form>

<form action="{{action('CashierController@closeCashier')}}" method="put">
    @csrf
    <button type="submit" class="btn btn-danger" style="margin-top: 10px">Fechar Caixa</button>
</form>

Мой BD:

enter image description here

CashierController:

 public function openCashier(){

    $date = date('d-m-Y H:i');
    $status = 1;

    DB::table('cashier')->insert([
        'start' => DB::raw('INET_ATON(\''.$date.'\')'),
        'status' => DB::raw('INET_ATON(\''.$status.'\')'),
    ]);

    return redirect()->to('admin/cashier')
        ->with('date', $date)
        ->with('status', $status);

}

public function closeCashier(){

    $date = date('d-m-Y H:i');
    $status = 0;

    DB::table('cashier')->orderBy('id','desc')->first()
        ->update(array('status'=>$status, 'last'=>$date));

    return redirect()->to('admin/cashier')
    ->with('date', $date)
    ->with('status', $status);
}

Маршруты:

//================================Cashier=================================//
Route::get('/admin/cashier', 'CashierController@index');
Route::post('/admin/cashier', 'CashierController@openCashier');
Route::put('/admin/cashier', 'CashierController@closeCashier');

что-то не так в моем коде? Я не вижу этого

1 Ответ

0 голосов
/ 22 января 2019

Из документации Ларавеля :

HTML-формы не поддерживают действия PUT, PATCH или DELETE. Так когда определение маршрутов PUT, PATCH или DELETE, которые вызываются из HTML форма, вам нужно будет добавить скрытое поле _method к форме. значение, отправленное с полем _method, будет использоваться как HTTP-запрос Метод:

Обновление фактически использует PUT. Вам нужно подделать этот метод в вашей форме.

<form action="{{action('CashierController@closeCashier')}}" method="POST">
    @csrf
    @method('PUT')
    <button type="submit" class="btn btn-danger" style="margin-top: 10px">Fechar Caixa</button>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...