我想知道如何在没有选中的情况下将$ _POSt设置为0(不添加隐藏输入)
我的模型扩展了ORM:
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,任何想法?
THX
答案 0 :(得分: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();
}