Loops cakephp循环只保存第一行数据,其他行不保存
循环以保存每个列字段: 请帮忙,我用的是cake php 2.0版,试着做循环来保存每一列,但只保存第一行数据,数据应该像附件中的图片1一样保存。希望有人能帮忙,我试着想了2周。我把数字硬编码为23Loops cakephp循环只保存第一行数据,其他行不保存,loops,cakephp,cakephp-2.0,Loops,Cakephp,Cakephp 2.0,循环以保存每个列字段: 请帮忙,我用的是cake php 2.0版,试着做循环来保存每一列,但只保存第一行数据,数据应该像附件中的图片1一样保存。希望有人能帮忙,我试着想了2周。我把数字硬编码为23 if($this->IPI->save($this->request->data)) { $table_name = 'IPI_V'; $this->IPI->setSource($table_name); for($i=1;$i<=
if($this->IPI->save($this->request->data))
{
$table_name = 'IPI_V';
$this->IPI->setSource($table_name);
for($i=1;$i<=$this->request->data['IPI']['V_COUNT'];$i++)
{
if($i<10){$i = '0'. $i;}
if(($this->request->data['IPI']['Quantity'.$i])!=NULL)
{
$this->request->data['IPI']['Type_Defect'] = $this->request->data['IPI']['Type_Defect'.$i];
$this->request->data['IPI']['CAT'] = $this->request->data['IPI']['CAT'.$i];
$this->request->data['IPI']['Defect'] = $this->request->data['IPI']['Defect'.$i];
$this->request->data['IPI']['Quantity'] = $this->request->data['IPI']['Quantity'.$i];
$this->IPI->create();
$this->IPI->save($this->request->data);
}
}
if($this->IPI->save($this->request->data))
{
$table_name='IPI_V';
$this->IPI->setSource($table_name);
对于($i=1;$irequest->data['IPI']['V_COUNT'];$i++)
{
如果($irequest->data['IPI']['Quantity'.$i])!=NULL)
{
$this->request->data['IPI']['Type_Defect']=$this->request->data['IPI']['Type_Defect'.$i];
$this->request->data['IPI']['CAT']=$this->request->data['IPI']['CAT'.$i];
$this->request->data['IPI']['Defect']=$this->request->data['IPI']['Defect'.$i];
$this->request->data['IPI']['Quantity']=$this->request->data['IPI']['Quantity'.$i];
$this->IPI->create();
$this->IPI->save($this->request->data);
}
}
试试这个
if($this->IPI->save($this->request->data))
{
$table_name = 'IPI_V';
for($i=1;$i<=$this->request->data['IPI']['V_COUNT'];$i++)
{
$data = array();
if($i<10){$i = '0'. $i;}
if(($this->request->data['IPI']['Quantity'.$i])!=NULL)
{
$data['IPI']['Type_Defect'] = $this->request->data['IPI']['Type_Defect'.$i];
$data['IPI']['CAT'] = $this->request->data['IPI']['CAT'.$i];
$data['IPI']['Defect'] = $this->request->data['IPI']['Defect'.$i];
$data['IPI']['Quantity'] = $this->request->data['IPI']['Quantity'.$i];
$this->IPI->setSource($table_name);
$this->IPI->create();
$this->IPI->save($data);
}
}
if($this->IPI->save($this->request->data))
{
$table_name='IPI_V';
对于($i=1;$irequest->data['IPI']['V_COUNT'];$i++)
{
$data=array();
如果($irequest->data['IPI']['Quantity'.$i])!=NULL)
{
$data['IPI']['Type_Defect']=$this->request->data['IPI']['Type_Defect'.$i];
$data['IPI']['CAT']=$this->request->data['IPI']['CAT'.$i];
$data['IPI']['Defect']=$this->request->data['IPI']['Defect'.$i];
$data['IPI']['Quantity']=$this->request->data['IPI']['Quantity'.$i];
$this->IPI->setSource($table_name);
$this->IPI->create();
$this->IPI->save($data);
}
}
尝试使用if(!empty($this->request->data['IPI']['Quantity'.$i])!=NULL代替if($this->request->data['IPI']['Quantity'][$i]),或者请共享您在请求中获得的输出亲爱的Rohit,结果仍然相同,只保存了一行,这是我以前尝试过的代码。输出请参考图片2。好的,您能做一个pr吗($this->request->data)并显示请求数据的输出。亲爱的Rohit,请参阅图3。Thanks@user3719378再看一遍示例代码。如果您有请求数据,为什么要多次保存请求数据(首先在if
语句中,然后在for
循环中)(可能来自表单)以正确的格式开始,您可能只需要几行就可以完成您想要做的事情。您是否可以在这里更新您的问题,并解释您想要实际做什么!亲爱的Rohit,很抱歉,结果仍然相同,只保存了一行。在创建之前,您可以执行pr($data)并注释保存并向我显示一张图片,您是否每次都获取数据亲爱的Rohit,请参考图片4。谢谢。看起来与以前一样,请使用我的代码,让我查看for循环中的$data。亲爱的Rohit,我已经按照您提供的步骤进行操作,其中的$data结果仍然相同。请参考图片5。