Проблема с сохранением значения в базе данных

0

Я использую среду CakePHP с базой данных MySQL, и у меня есть проблема с сохранением одного конкретного значения в базе данных. У меня есть таблица под названием "Атрибуты" с полями, id, form_id, меткой, типом, размером и инструкциями. При щелчке ссылки значения по умолчанию хранятся в таблице для этих полей.

Теперь я добавил новый столбец "required" в таблицу Attributes. Его значение равно 0 или 1, поэтому я изначально создал его как двоичное поле. Но сохраненный в нем был \0. Поэтому я изменил его как целое значение и попытался сохранить значение по умолчанию, например 5. но значение, хранящееся в нем, всегда равно 0, то есть значение не изменяется.

Это кажется глупым, но я не знаю причины. Я дал функцию ниже. Все остальные значения поля сохраняются за исключением поля "обязательно". Пожалуйста, помогите мне

   function saveFieldEntries($data)
   {    
      $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']['instructions']='Fill it';
        $this->data['Attribute']['type']=$data['Attribute']['type'];
        $this->data['Attribute']['sequence_no'] = $data['Attribute']['sequence_no'];
        $this->data['Attribute']['required']='5';
        $this->Attribute->save($this->data);
}
  • 0
    Вы установили debug в 2 (в app / config / core.php), чтобы увидеть, какие операторы SQL генерируются?
Теги:
database
cakephp

1 ответ

1
Лучший ответ

С первого взгляда ваш код выглядит отлично. Возможно ли, что у вас есть кэшированная версия модели, поэтому CakePHP все еще предполагает, что тип поля двоичный?

Попробуйте удалить содержимое каталога/app/tmp/cache/models.

  • 0
    Да вы правы. После того как я удалил содержимое, значение сохраняется. Спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню