我試圖提交一組已從.csv文件導入的表單數據,並且在提交表單時我丟失了數據。從視圖中添加表單數據時未將表單數據傳遞給控制器
我在Chrome開發工具中檢查POST請求,數據在POST請求中,但如果我在控制器中爲debug($this->data);
,則它是空的。
下面是一些相關的代碼:
admin_add_template.ctp(我認爲)
<?php for ($i=0; $i < $line - 1; $i++) : ?>
<?php echo $this->Form->create('ActiveQuoteItem');?>
<fieldset>
<legend>Quote Template <?= $i; ?></legend>
<!-- <input type="hidden" name="xxxx" id="xxxx" value="xxxx" />-->
<input name="quote_item_id" id="quote_item_id" value="<?php echo $out[$i][2] ; ?>" />
<input name="estimated_cost" id="estimated_cost" value="<?php echo $out[$i][3] ; ?>" />
<input name="actual_cost" id="actual_cost" value="<?php echo $out[$i][4] ; ?>" />
<input name="billed_at" id="billed_at" value="<?php echo $out[$i][5] ; ?>" />
<input name="inquiry_id" id="inquiry_id" value="<?php echo $the_id; ?>" />
<input name="active" id="active" value="<?php echo $out[$i][7] ; ?>" />
<input name="timeline" id="timeline" value="<?php echo $out[$i][8] ; ?>" />
<input name="timeline_rushed" id="timeline_rushed" value="<?php echo $out[$i][9] ; ?>" />
<input name="title" id="title" value="<?php echo $out[$i][10] ; ?>" />
<input name="description" id="description" value="<?php echo $out[$i][11] ; ?>" />
<input name="category" id="category" value="<?php echo $out[$i][12] ; ?>" />
<input name="quantity" id="quantity" value="<?php echo $out[$i][13] ; ?>" />
</fieldset>
<?php endfor; ?>
<?php echo $this->Form->end(__('Save', true)); ?>
active_quote_items_controller.php(我控制器)
function admin_add_template() {
if (!empty($this->data)) {
$this->ActiveQuoteItem->create();
if ($this->ActiveQuoteItem->saveAll($this->data['ActiveQuoteItem'])) {
$this->Session->setFlash(__('The active quote item has been saved', true));
$this->redirect(array('action'=>'index','inquiry_id'=>$this->data['ActiveQuoteItem']['inquiry_id']));
} else {
$this->Session->setFlash(__('The active quote item could not be saved. Please, try again.', true));
}
}
}
在你的控制器中使用'$ this-> request-> data'而不是'$ this-> data'。 – marian0 2014-09-19 18:25:47
正在使用CakePHP 1.3? – 2014-09-19 20:53:36
是的,我只是意識到我忘了包含我正在使用的版本。我正在使用Cake 1.3。 – 2014-09-19 21:09:56