Cakephp 2.x Как использовать updateAll с типом данных tinyint

Я пытаюсь обновить поле данных tinyint в моей базе данных.

Следующий код является представлением:

 <?php echo $this->Session->flash(); ?>
 <?php echo $this->Form->create("myForm", array('type' => 'file', 'action' => "updateData"));?>
 <?php echo $this->Form->input('myForm.myDescription', array("class" => "form-control", 'label' => false, "placeholder" => __d       ('myView', "description"), 'autocomplete' => 'off', 'required' => false, 'error' => false)); ?>
 <?php echo $this->Form->input('myForm.mySingleCheckbox', array('label' => false, 'type' => 'checkbox')); ?>
 <?php echo $this->Form->submit(__d('myView', "SAVE"), array("div" => false, "class" => "btn btn-primary pull-right")); ?>
 <?php echo $this->Form->end(); ?>

И контроллер следующий:

public function updateData(){
$user_id = $this->Auth->user("id");
    if (!isset($user_id)) { $this->redirect('/'); }

    if (!empty($this->request->data)) { 
  $this->loadModel("myModel");
  $db = ConnectionManager::getDataSource("default");
  $response = $this->myModel->updateAll(
    array(
      'myModel.myDescription'   => $db->value($this->request->data["myModel"]["myDescription"], 'string'),
      'myModel.mySingleCheckbox'    => $db->value($this->request->data["myModel"]["mySingleCheckbox"], 'boolean'), 
    ),
    array('myModel.id' => $this->request->data["myModel"]["id"])
  ); 

  if ($response) {
    $this->Session->setFlash(__d('myForm', "OK"), 'form_success');                    
  } else {  // errore SAVE
    $this->Session->setFlash(__d('myForm', "KO"), 'form_error');
  }
    }
}

В результате поле "myDescription" сохраняется, а "mySingleCheckbox" - нет. Я не знаю, как решить эту проблему.

заранее спасибо

0 ответов

Другие вопросы по тегам