[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Ademir Bastiani
Criador Ademir Bastiani 02/04/2020

Olá Carlos!

Poderias me ajudar pro favor.. 

Estou efetuando o curso com laravel collective para fazer os forms, mas estou perdindo no campo checkbox.

      {!! Form::checkbox('plan_active', null) !!}

      {!! Form::label('Plano Ativo:')!!}              

 

No PlanController está assim, 

//Pegando se o checkbox está clicado

        $data['plan_active']  = ($data['plan_active'] == true || $data['plan_active'] == 'on' ? 1 : 0);

mas na hora de gravar permanece na variavel o mesmo valor vindo do banco..

Manager Carlos Ferreira 02/04/2020

Olá, Ademir!
Tudo bem?

Você pode fazer assim:
$data['plan_active'] = isset($request->plan_active);
dd($data);

Carlos Ferreira
Criador Ademir Bastiani 02/04/2020

Olá Carlos Fiz isso dentro do model

 

    public function setPlanActiveAtribute($value){

        $this->attributes['plan_activ'] = ($value === true || $value === 'on' ? 1 : 0);

    }

    public function setPlanVisibleAtribute($value){

        $this->attributes['plan_visibl'] = ($value === true || $value === 'on' ? 1 : 0);

    }

 

resgato update

 

        $data = $this->repository->find($id);

        //Pegando se o checkbox está clicado

        $data->SetPlanActiveAttribute[$request->plan_active];

        $data->SetPlanVisibleAttribute[$request->plan_visible];

 

ao gravar no banco o campo vai como 'on' 

 

Illuminate\Database\QueryException

SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: 'on' for column `larafood`.`plans`.`plan_active` at row 1 (SQL: update `plans` set `price` = 215.00, `plan_active` = on, `plan_visible` = on, `plans`.`updated_at` = 2020-04-05 18:23:21 where `id` = 2)
Ademir Bastiani
Criador Ademir Bastiani 02/04/2020

Questão resolvida!!!

Ademir Bastiani
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!