简体   繁体   English

蛋糕PHP插入循环查询

[英]cake php insert query in loop

Hello Every one i have a function in controller which is checkout where i am submitting a form. 您好,每个人我在控制器中都有一个功能,它是我提交表单的地方。 But i want to run insert query in a loop on bellow $this->Session->read('Cart') value is 3 but my code insert one record in table if i alert something inside loop it alerts 3 time how can i run insert query 3 time please any one help me. 但是我想在下面的循环中运行插入查询$ this-> Session-> read('Cart')值为3,但是如果我在循环内发出警报,则我的代码在表中插入一条记录,它会发出3次警报插入查询3次,请任何人帮助我。 Thanks in advance. 提前致谢。


public function checkout() {
        $this->loadModel("Checkout");
        Configure::read();
        $aorderno = $this->Checkout->find('all', array('order' => array('Checkout.id' => 'DESC'),'limit' => 1));    
        $this->set('aorderno',$aorderno);
           foreach($aorderno as $order)
           {
           $myorderno=$order['Checkout']['orderno']+1;
           }
        $firstname = $this->request->data['checkout']['firstname'];
        $this->set('firstname',$firstname);
        $lastname = $this->request->data['checkout']['lastname'];
        $this->set('lastname',$lastname);
if(count($this->Session->read('Cart'))>0)
             {
                    foreach($this->Session->read('Cart') as $value)
                    {
                    $sku=$value['Product']['sku'];
                    $this->Checkout->save(array('orderno' => $myorderno,'firstname' => $firstname,'lastname' => $lastname'sku' => $sku));
                    }
             }
}

I supposed in your $this->Checkout->saveQuery function. 我应该在您的$ this-> Checkout-> saveQuery函数中。

You are using something like $this->save(); 您正在使用类似$ this-> save();的方法。

Before $this->save(), call $this->create(); 在$ this-> save()之前,调用$ this-> create();。

Hope it helps. 希望能帮助到你。

You can use saveMany 您可以使用saveMany

    foreach(.......){
        $arr[]= array('orderno' => $myorderno,'firstname' => $firstname,'lastname' => $lastname'sku' => $sku);
    }

   $this->Checkout->saveMany($arr, array('deep' => true));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM