Por uma nova coluna da tabela não aparecer nos resultados da consulta em CakePHP?
Pergunta
Eu adicionei uma nova coluna para meus atributos tabela que já possui (id, form_id (chave estrangeira), tipo, etiqueta, tamanho, seqüência não, instr) onde instr é a nova coluna eu adicionei.
A minha aplicação é em CakePHP e MySQL.
Eu tenho usado o seguinte código para inserir os atributos mesa, mas o instr campo por si só não inserido.
function saveFieldname($data)//from untitledfieldname
{
$this->data['Attribute']['form_id'] = $this->find( 'all', array(
'fields' => array('Form.id'),
'order' => 'Form.id DESC'
));
$this->data['Attribute']['form_id'] = $this->data['Attribute']['form_id'][0]['Form']['id'];
$this->data['Attribute']['label'] = 'Label';
$this->data['Attribute']['size'] ='50';
$this->data['Attribute']['instr'] ='Fill';
$this->data['Attribute']['type'] = $data['Attribute']['type'];
$this->data['Attribute']['sequence_no'] = $data['Attribute']['sequence_no'];
$this->Attribute->save($this->data);
}
Por favor me sugerir ..
Solução
As informações sobre a estrutura da sua mesa está provavelmente em cache. Remover o conteúdo de "app / tmp / cache / modelos" e tente novamente.
Outras dicas
Note que no desenvolvimento do nível de depuração em app / config / core.php é geralmente definida como> 1. Isto significa que você nunca deve correr para o problema de desenvolvimento, porque o bolo não vai cache. No entanto, na produção, depuração é definido como 0 em core.php, causando bolo para iniciar cache.
Para adicionar a isso, eu tinha removido os arquivos de cache em app / tmp / cache / modelos como dhofstet especificado no meu aplicativo CakePHP produção e as consultas achado ainda não foram agarrando minha nova coluna.
-
Além de limpar os arquivos de cache modelo, eu definir o nível de depuração a 2 no meu local de produção e fez atualização da página, em seguida, configurá-lo de volta a 0 e tenho que trabalhar novamente. Eu sei que esta é uma abordagem feio, mas fixa-lo para mim quando há outros métodos estavam funcionando.