这是我在Zend上的表格部分:
$remarks = new Zend_Form_Element_Checkbox('remarks');
$remarks->setLabel('Check this if your task is done')
->setCheckedValue(true);
这是我的控制者:
if ($form->isValid($formData)) {
$id = (int)$form->getValue('tid');
$taskname = $form->getValue('taskname');
$startdate = $form->getValue('startdate');
$endate = $form->getValue('endate');
$remarks = $form->getValue('remarks');
$task = new Application_Model_DbTable_Task();
if ($remarks == 1) {
$task->updateTask($id , $taskname , $startdate , $endate , $remarks);
} elseif ($remarks == 0) {
$task->updateTask($id , $taskname , $startdate , $endate);
}
$this->_helper->redirector('index');
我在数据库中备注的defalut值是0
,我想使用Zend中的复选框将其值更改为1
,请帮助谢谢
这是我的DBTable
型号
protected $_name = 'task';
public function getTask($id)
{
$id = (int)$id ;
$row = $this->fetchrow('tid = '. $id );
if (!$row) {
throw new Exeption("Sorry could not find row $row");
}
return $row->toArray();
}
public function addTask($taskname , $startdate , $endate)
{
$data = array(
'taskname' => $taskname ,
'startdate' => $startdate ,
'endate' => $endate ,
);
$this->insert($data);
}
public function updateTask($id ,$taskname , $startdate , $endate)
{
$data = array(
'taskname' => $taskname ,
'startdate' => $startdate ,
'endate' => $endate ,
'remarks' => $remarks ,
);
$this->update($data , 'tid= ' . (int)$id);
}
感谢您的回答我只需编辑我的代码
public function updateTask($id ,$taskname , $startdate , $endate, $remarks )
并且它工作得很好还要感谢Jay Bhatt在我的Application_Model_DbTable_Task()模型中询问我的代码我只记得我必须做的事情
答案 0 :(得分:0)
尝试在模型的$remarks
功能中添加updateTask
参数
即,替换
public function updateTask($id ,$taskname , $startdate , $endate)
通过
public function updateTask($id ,$taskname , $startdate , $endate, $remarks = 0)