Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops cakephp循环只保存第一行数据,其他行不保存_Loops_Cakephp_Cakephp 2.0 - Fatal编程技术网

Loops cakephp循环只保存第一行数据,其他行不保存

Loops 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<=

循环以保存每个列字段:

请帮忙,我用的是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<=$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。