Почему новый столбец таблицы не отображается в результатах запроса в CakePHP? - PullRequest
5 голосов
/ 16 июня 2009

Я добавил в свою таблицу новый столбец Атрибуты, который уже имеет (id, form_id (внешний ключ), тип, метка, размер, номер последовательности, instr) где instr - новый столбец, который я добавил.

Мое приложение находится в CakePHP и MySQL.

Я использовал следующий код для вставки в таблицу атрибутов, но только поле instr не вставлено.

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);
}

Пожалуйста, предложите мне ..

Ответы [ 2 ]

7 голосов
/ 16 июня 2009

Информация о структуре вашей таблицы, вероятно, кэшируется. Удалите содержимое «app / tmp / cache / models» и попробуйте снова.

1 голос
/ 04 декабря 2014

Обратите внимание, что в процессе разработки уровень отладки в app / config / core.php обычно устанавливается на> 1. Это означает, что вы никогда не должны сталкиваться с проблемой в разработке, потому что Cake не будет кешировать. Однако в рабочей среде для отладки в core.php установлено значение 0, в результате чего торт начинает кэшироваться.

Чтобы добавить это, я удалил файлы кеша в app / tmp / cache / models в качестве dhofstet, указанного в моем производственном приложении CakePHP, и запросы поиска все еще не захватывали мой новый столбец.

-

Помимо очистки файлов кэша модели, я установил уровень отладки на 2 на своем рабочем сайте, обновил страницу, затем установил ее обратно на 0, и она снова заработала. Я знаю, что это уродливый подход, но он исправил его для меня, когда другие методы не работали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...