cakephp代码,用于在不同的行中插入forloop的值

时间:2016-06-07 04:21:00

标签: cakephp

我从文本框提交位置,并以逗号分隔形式输入值,如ngp,akola,kanpur。 现在我想如果我在位置文本框中有3个值,那么它在位置表中插入3行用于ngp,第二行用于akola,第三行用于kanpur。 但它也需要最后插入用户表的id并将所有值发布到位置表中。

我的位置表包含字段ID,name,user_id。

在user_id列中我需要最后插入的用户表id,在名称列中我需要在表中插入所有值..

请帮我做这个..我的代码是。

function add() {             
        if (!empty($this->request->data)) {

            $this->User->set($this->data['User']);
            $isValidated = $this->User->validates();
            if ($isValidated) {
                // Generating UUID   
                if (!empty($this->request->data['User']['company_name'])) {
                    $this->request->data['User']['is_business'] = 1; 
                    }
                if ($this->User->save($this->request->data, array('validate' => false))) {
                    $lastId = $this->User->id;
                    $location = implode(',',$this->request->data['User']['location']);
                    for(i=1;i<=$location;i++){
                $this->Location->save($location);   
                }                 
                }    

            }
        }
    }

2 个答案:

答案 0 :(得分:0)

$lastId = $this->User->id;
$location = explode(',',$this->request->data['User']['location']);
foreach($location as $value){
    $data = array();
    $data["name"] = $value;
    $data["user_id"] = $lastId;
    $this->Location->save($data,false);
    $this->Location->id = false;
}

答案 1 :(得分:0)

Model::saveAll(array $data = null, array $options = array())

$this->request->data['Location'] = explode(',',$this->request->data['User']['location']);

if ($this->User->saveAll($this->request->data, array('validate' => false))){  // ...}