Campo checkbox não funciona

NTI Unirg Criador 03/04/2018
NTI Unirg

O campo is_promotion não está funcionando. Quando marco o checkbox surge a seguinte mensagem de erro:

SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'on'
 for column 'is_promotion' at row 1 (SQL: update `flights` set 
`is_promotion` = on, `updated_at` = 2018-04-03 19:35:18 where `id` = 1)

O campo está dessa forma:

{!! Form::checkbox('is_promotion', null, null, ['id' => 'is_promotion']) !!}

 

Quando deixo o campo desta forma:

{!! Form::checkbox('is_promotion', 1, null, ['id' => 'is_promotion']) !!}

até que funciona, mas só salva correto quando eu marco o checkbox. Quando eu desmarco ele continua salvando como "Sim" ao invés de deixar como "Não".

Como corrigir?

Manager Carlos Ferreira 03/04/2018
Carlos Ferreira

Olá, Bruno!
Tudo bem?

Como ficou a lógica para verificar se marcou ou não o checkbox?
Precisa ficar assim:
public function newFlight($request, $nameFile = '')
{
    $data = $request->all();

    // Check is mark checkbox
    $data['is_promotion'] = isset($data['is_promotion']);
   
    return $this->create($data);
}

Qualquer dúvida me retorna. Ok?

Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!