簡體   English   中英

如何在Codeigniter上更新或插入新數據

[英]How to update or insert new data on 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;;
}

我究竟做錯了什么? 什么是此方案的最佳方法

嘗試在代碼中進行這些更改

在您的控制器中

$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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM