这是我的代码:
TimesheetsController.php:
class TimesheetsController extends AppController {
public function add()
{
if (!empty($this->data)) {
if ($this->Timesheet->save($this->data)) {
$this->Session->setFlash('Your attendance has been saved.');
$this->redirect(array('action' => 'index'));
}
}
}
}
这是我的观看代码
add.ctp:
<table id="completed">
$this->Form->create('Timesheets');
<th>S.No</th>
<th>Name</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
<th>11</th>
<th>12</th>
<th>13</th>
<th>14</th>
<th>15</th>
<th>16</th>
<th>17</th>
<th>18</th>
<th>19</th>
<th>20</th>
<th>21</th>
<th>22</th>
<th>23</th>
<th>24</th>
<th>25</th>
<th>26</th>
<th>27</th>
<th>28</th>
<th>29</th>
<th>30</th>
<th>31</th>
echo '1'
$this->Form->input('id',array('class'=>'attendance','type'=>'hidden','label'=>false));
echo 'Karthikeyan';
$this->Form->input('1',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('2',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('3',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('4',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('5',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('6',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('7',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('8',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('9',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('10',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('11',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('12',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('13',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('14',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('15',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('16',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('17',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('18',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('19',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('20',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('21',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('22',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('23',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('24',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('25',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('26',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('27',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('28',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('29',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('30',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->input('31',array('class'=>'attendance','type'=>'text','label'=>false));
$this->Form->end('Save Attendance');
</table>
答案 0 :(得分:0)
说实话,很难缩小代码中的具体问题,有几个基本错误可能会让你感到困惑。这里有一些要清理的东西,看看它是否有帮助:
<?php
和?>
。;
)<td>
标签。我建议您在转移到框架之前花一点时间浏览HTML和PHP的常规。一旦掌握了它们,请查看CakePHP教程,它们可以帮助您掌握框架。
一些有用的链接:
所有人都表示,无论您是否遵循我的建议,在对代码进行上述修复后,使用修订后的代码更新您的问题,并且您可以提供有关问题的任何错误或有用信息,以及我会适当地修改我的答案。
答案 1 :(得分:0)
Use echo $this->Form->input('Modelname.0.fieldname');
例如:
$this->Form->input('Timesheet.1.fieldname',
array('class'=>'attendance','type'=>'text','label'=>false));
如果您更改示例中显示的输入字段,那么在您的控制器操作中,您将获得$ this-&gt;数据
'Timesheet' => array(
(int) 0 => array(
'fieldname' => Field Value
),
(int) 1 => array(
'fieldname' => Field Value
),
so on...
)
之后你必须修改你的控制器动作,如下所示:
public function add(){
if (!empty($this->data)) {
if ($this->Timesheet->saveAll($this->data)) {
$this->Session->setFlash('Your attendance has been saved.');
$this->redirect(array('action' => 'index'));
}
}
}
有关更多说明,请参阅http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#field-naming-conventions
希望这会对你有帮助!