Я использую среду 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);
}
С первого взгляда ваш код выглядит отлично. Возможно ли, что у вас есть кэшированная версия модели, поэтому CakePHP все еще предполагает, что тип поля двоичный?
Попробуйте удалить содержимое каталога/app/tmp/cache/models.