2014-02-09 1 views
0

Я хотел бы знать, как я могу установить флажок $ _POST в 0, когда он не установлен (без добавления скрытого входа)Кохана проверка флажок на не IsSet

моя модель расширяет ОРМ:

public function rules() 
{ 
    return array(
     'title' => array(
      array('not_empty') 
     ) 
    ); 
} 

Мой HTML-форм:

<form> 
<input type="text" name="title"> 
<input type="checkbox" name="is_send" value="1"> 
</form> 

Мой контроллер

try 
    { 
     $mymodel = ORM::factory('mymodel')->values($_POST, array("title", "is_send")); 
      $mymodel->save(); 
    } 
    catch (ORM_Validation_Exception $e) 
    { 
     $errors = $e->errors(); 
    } 

Проблема в том, что когда я не проверяю флажок «is_send», я не могу поместить is_send в 0, потому что это не isset, любая идея?

ТНХ

ответ

2

Вы хотите что-то вроде этого:

$post = $this->request->post(); 
$post['is_send'] = Arr::get($post, 'is_send', 0); 

try 
{ 
    $mymodel = ORM::factory('mymodel')->values($post); 
    $mymodel->save(); 
} 
catch (ORM_Validation_Exception $e) 
{ 
    $errors = $e->errors(); 
} 
+0

спасибо, что это то, что я сделал .. я буду отмечать свой вопрос как ответ :) – zeomega

+2

Спасибо. Большой секрет для Kohana - это действительно чтение источника/API, пользовательские документы невелики, но он предоставляет хорошие базовые библиотеки для использования. – jexmex

+0

это право, спасибо снова – zeomega

 Смежные вопросы

  • Нет связанных вопросов^_^