Como "resetar" um campo no mysql para NULL Olá, Gostaria de saber como atribuir o valor NULL em um campo do MySQL através do framework. Pelo phpmyadmin, é só ir na página de edição do registro e checar o botão "Nulo" do campo desejado. Quando tentamos passar o valor NULL pelo php/framework, o MySQL reconhece como uma string vazia, que é diferente do valor NULL do banco de dados. Obrigado pela atenção. Gamaliel...
GK
Como "resetar" um campo no mysql para NULL  
Olá,

Gostaria de saber como atribuir o valor NULL em um campo do MySQL através do framework. Pelo phpmyadmin, é só ir na página de edição do registro e checar o botão "Nulo" do campo desejado. Quando tentamos passar o valor NULL pelo php/framework, o MySQL reconhece como uma string vazia, que é diferente do valor NULL do banco de dados.

Obrigado pela atenção.

Gamaliel

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (3)


NR

$obj->atributo = '';
$obj->store();

Passando ('') o framework faz a substituição por NULL na hora de salvar no banco de dados.
WP

Justo estava procurando por este tema.

Nataniel , aqui pra mim não deu certo, eu quero setar a NULL um campo DATETIME

$objeto = $this->form->getData('agro_maquinarias'); if(strlen(trim($objeto->fecha_ultimo_mantenimiento)) > 0){ $objeto->fecha_ultimo_mantenimiento = TDate::date2us($objeto->fecha_ultimo_mantenimiento); }else{ $objeto->fecha_ultimo_mantenimiento = ''; }


mas mesmo assim tenta atribuir valor VAZIO em vez de NULL

alguma outra dica?
NR

Execute o comando a seguir antes de realizar o store do objeto. Esse comando vai exibir os sqls gerados pelo Adianti. Se o sql estiver setando null corretamente aí é questão de configuração do campo no banco de dados.

 
  1. <?php
  2. TTransaction::setLogger(new TLoggerSTD());
  3. ?>