如何在codeigniter上更新或插入新数据

我正在我的服务器上设置一个 rest-API,我想更新一个表(即“comp_holding_stock”)。但每次我测试发布新数据时,它都会返回“未找到项目”


这是我的控制器


   public function create_comp_holding_stock(){


   $returnArr['status'] = '0';

   $returnArr['response'] = '';


   try {

       if (!$this->input->post()) {

           $returnArr['response'] = "Only POST method is allowed";

       } else {


           $holding_stock_data = array(

               'comp_id' => $this->input->post('comp_id'),

               'customer_id' => $this->input->post('customer_id'),

               'quantity' => $this->input->post('quantity'),

               'date' => date('Y-m-d H:i:s')

           );





           if (!isset($holding_stock_data)) {

            $returnArr['response'] = "Some Parameters are missing";

        } else {


            $customer = $this->Customer->save_holding_stock($holding_stock_data);


            if (!$customer) {

                $returnArr['response'] = 'No items found';

            } else {

                $returnArr['status'] = '1';

                $returnArr['response'] =  $customer;

            }

        }

    }

} catch (Exception $ex) {

    $returnArr['response'] = "Error in connection";

    $returnArr['error'] = $ex->getMessage();

}

$response = json_encode($returnArr, JSON_PRETTY_PRINT);

echo $response;


}

下面是我的模型


  public function save_holding_stock($holding_stock_data)

{

    // $this->db->trans_start();


    $success = $this->db->insert('comp_holding_stock', $holding_stock_data);


 return $success;;

}

我究竟做错了什么?这种情况的最佳方法是什么


慕的地8271018
浏览 143回答 2
2回答

饮歌长啸

在您的代码中尝试这些更改在您的控制器中,$customer      =   $this->Customer->save_holding_stock($holding_stock_data);$save_status    =   $this->db->affected_rows();if ($save_status>0) {                $returnArr['status'] = '1';                $returnArr['response'] =  $customer;            } else {                $returnArr['response'] = 'No items found';            }在你的模型中,public function save_holding_stock($holding_stock_data){    // $this->db->trans_start();     $this->db->insert('comp_holding_stock', $holding_stock_data);}

明月笑刀无情

我建议尝试检查您的控制器中是否有负载模型。在你的模型中尝试这样做。public function save_holding_stock($holding_stock_data, $comp_id=FALSE){    if(!$comp_id == -1 || !$this->exists($comp_id))    {        if($this->db->insert('comp_holding_stock', $holding_stock_data))        {            $holding_stock_data['comp_id'] = $this->db->insert_id();            return TRUE;        }        return FALSE;    }    $this->db->where('comp_id', $comp_id);    return $this->db->update('comp_holding_stock', $holding_stock_data);}
打开App,查看更多内容
随时随地看视频慕课网APP