Я не могу вставить несколько строк в MySQL, используя Codeigniter для REST API - PullRequest
0 голосов
/ 03 мая 2018

Я создал Api для вставки нескольких строк в базу данных, используя codeigniter framework. Когда я пытаюсь вставить данные в базу данных, используя Postman, поскольку данные будут отправляться только почтальоном, значения не сохраняются в базе данных.

Я упомянул много форумов, но не нашел решения по моей проблеме. Пожалуйста, помогите мне найти решение для этого.

Вот мой код: MyContorller.php

public function addProducts_post(){

        $product_name = $this->post('product_name');
        $quantity_per_pack = $this->post('quantity_per_pack');

        $product_per_pack_unit = $this->post('product_per_pack_unit');

        $data = array();

         for ($i = 0; $i < count($this->post('product_name')); $i++)
        {
        $data[] = array(
            'product_name' => $product_name[$i],
            'quantity_per_pack' => $quantity_per_pack[$i],
            'product_per_pack_unit' => $product_per_pack_unit[$i],
        );
        }
        $insert =  $this->product->add($data);
        if($insert){
     $this->response([
                'status' => TRUE,
                'message' => 'Products has been added successfully.'
     ], REST_Controller::HTTP_OK);
     }
    else {
        //set the response and exit
        $this->response([
            'status' => FALSE,
            'message' => 'Not added'
        ], REST_Controller::HTTP_NOT_FOUND);
    }
    }

My_Model.php

public function add($data = array()) {

    $insert = $this->db->insert_batch('product', $data);
    if($insert){
        return $this->db->insert_id();
    }else{
        return false;
    }

}   

1 Ответ

0 голосов
/ 13 мая 2019

Вот новый обновленный код: MyContorller.php

public function addProducts_post(){

    $product_id = array();
    $userData = array();
    $totalProducts = $this->post('total_items');
    $userData['grand_total'] = $this->post('total');
    $userData['user_id'] = $this->post('user_id');
    $product_id[] = $this->post('product_id_1');
    $product_id[] = $this->post('product_id_2');
    $product_id[] = $this->post('product_id_3');
    $product_id[] = $this->post('product_id_4');
    $product_id[] = $this->post('product_id_5');
    $quantity[] = $this->post('quantity_1');
    $quantity[] = $this->post('quantity_2');
    $quantity[] = $this->post('quantity_3');
    $quantity[] = $this->post('quantity_4');
    $quantity[] = $this->post('quantity_5');
    //  $userData['customer_id']  = $this->post('customer_id');
    //print_r($userData);die;
    // Validate the post data
    if(!empty($userData['grand_total']) && !empty($userData['user_id']) ){
        $insert = $this->user->insertOrder($userData);
        // print_r($insert);die;
        if($insert){
            for ($i = 0; $i < $totalProducts ; $i++)
            {
                $ordItemData['order_id']    = $insert;
                $ordItemData['user_id']     = $userData['user_id'];
                $ordItemData['product_id']  = $product_id[$i];
                $ordItemData['quantity']    = $quantity[$i];
                $ordItemData['sub_total']   = $userData['grand_total'];

               $data= $this->user->insertitems($ordItemData);
            }
            // print_r($ordItemData);die;
            //$data = $this->user->insertitems($ordItemData);
            if($data){
                $this->response([
                    'status' => TRUE,
                    'message' => 'Thank Succefully order.'

                ], REST_Controller::HTTP_OK); 


                // Set the response and exit

            }else{
                // Set the response and exit
                //BAD_REQUEST (400) being the HTTP response code
                $this->response("Not Added in Contact.", REST_Controller::HTTP_BAD_REQUEST);
            }
        }else{
            // Set the response and exit
            $this->response("Fill All Data.", REST_Controller::HTTP_BAD_REQUEST);
        }

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...