嗨,我用cakephp(v.1.3)新增了。我試圖做一些簡單的事情。Cakephp控制器不處理表單數據
我有兩張表:fichas [id,... etc]和labos [id,laboratorio,ficha_id],所以「labos」屬於「fichas」。 (labos.laboratorio是ENUM字段)。
我想查看「數據表」給定labos.id和labos.laboratorio所以從來就包含在添加的「home.ctp」
<h3>Mostrar Ficha</h3>
<?php echo $this->Form->create('ficha',array('action'=>'localiza'));?>
<?php echo $this->Form->radio('laboratorio',array('A','B','C'),array('A','B','C')); ?>
<?php echo $this->Form->input('id',array('label'=>'Numero','type'=>'text')); ?>
<?php echo $this->Form->end("Mostrar");?>
如果是「fichas_controller.php」下面的代碼以下內容:
function localiza(){
$laboratorio=$this->data['Ficha']['laboratorio'];
$id=$this->data['Ficha']['id'];
if(!$id){
$this->Session->setFlash('Por favor introduzca un valor valido');
$this->redirect(array('action'=>'index'));
}
$this->set('fichas',$this->Ficha->findID($id,$laboratorio));
}
最後模型 「ficha.php」 以下內容:
function findID($id=null,$laboratorio=null){
return $this->find('all',array('conditions'=>array('Labo.laboratorio'=>$laboratorio,'Labo.id'=>$id)));
}
顯然FIL e views/fichas/localiza.ctp存在
事情是當我按下提交按鈕的形式它只是重新加載home.ctp頁面。看起來控制器的代碼沒有被執行,因爲我試圖強制加載索引操作的錯誤消息,將if條件改爲true,但結果相同。我已將模型中的函數的名稱更改爲期望錯誤,但我得到的結果相同。 我在home.ctp頁面中有另外兩種形式,但調用另一種動作和模型。 其中一個幾乎相同,它工作正常。 我無法弄清楚錯誤。
在此先感謝您的幫助。 馬塞洛。
你可以發佈從home.ctp生成的HTML嗎? – bfavaretto