как изменить несколько строк в codeigniter, используя пакетный запрос на обновление - PullRequest
0 голосов
/ 25 октября 2018

table structure Проблема: Я просто хочу обновить счет, используя уникальный идентификатор в моей базе данных, но моя проблема заключается в том, что он отображает ошибку как неопределенный идентификатор индекса ... помогите мнеЧтобы устранить эту ошибку ...

Код контроллера:

public function Bill_Edit()
{
    $session_data = $this->session->userdata('logged_in');
    $data['username'] = $session_data['username'];
    $query = $this->db->get('parmaster');    
    $data['PName']=$query->result_array();
    $data['r'] = $this->User_model->Bill_Edit1();
    $data['result'] =$this->User_model->Bill_Edit();
    $this->load->view('Inventory/Bill_Edit',$data);
}

Код модели:

public function Bill_Edit()
{
    $Search = $this->input->post('Search');
    $this->db->where('billno', $Search);

    $this->db->select('*');
    $this->db->from('salesitem');
    $this->db->join('salesbill', 'salesbill.no = salesitem.billno','left outer');
    $query = $this->db->get()->result_array();
    return $query;
}
public function Bill_Edit1()
{
    $Search = $this->input->post('Search');
    $this->db->where('billno', $Search);
    $this->db->select('*');
    $this->db->from('salesitem');
    $this->db->join('salesbill', 'salesbill.no = salesitem.billno','left outer');
    $query = $this->db->get()->row();
    return $query;
}

НижеЯ прикрепил ошибку моего скриншота .. Помогите мне исправить эту ошибку

enter image description here

Обновление кода пакета:

public function Bill_Update($data) 
{  
    $LDate = $this->input->post('TDate');
    $date = str_replace('/', '-', $LDate);
    $newDate = date("Y-m-d", strtotime($date));
    $id =$this->input->post('billid'); 
    $billno = $this->input->post("billno");
    $data = $this->input->post(); 
    $count = count($data['Product_Code']); 
    for($i = 0; $i<$count; $i++){ 
        $entries[] = array( 
            'Id' => $data['billId'][$i],
             'Product_Code'=>$data['Product_Code'][$i], 
             'Prdtname'=>$data['Prdtname'][$i], 
             'Qty'=>$data['Qty'][$i], 
             'rate'=>$data['rate'][$i], 
             'billdate'=>$newDate, 
             'amount'=>$data['amount'][$i] 
        ); 
    } 
    $this->db->where('Id',$id);
    $this->db->update_batch('salesitem', $entries,'Id'); 

1 Ответ

0 голосов
/ 25 октября 2018

В приведенном ниже коде есть проблема

Обновить код партии:

public function Bill_Update($data) 
{  
    $LDate = $this->input->post('TDate');
    $date = str_replace('/', '-', $LDate);
    $newDate = date("Y-m-d", strtotime($date));
    $id =$this->input->post('billid'); 
    $billno = $this->input->post("billno");
    $data = $this->input->post(); 
    $count = count($data['Product_Code']); 
    for($i = 0; $i<$count; $i++){ 
        $entries[] = array( 
            'Id' => $data['billId'][$i],
             'Product_Code'=>$data['Product_Code'][$i], 
             'Prdtname'=>$data['Prdtname'][$i], 
             'Qty'=>$data['Qty'][$i], 
             'rate'=>$data['rate'][$i], 
             'billdate'=>$newDate, 
             'amount'=>$data['amount'][$i] 
        ); 
    } 
    $this->db->where('Id',$id);
    $this->db->update_batch('salesitem', $entries,'Id'); 
}

Изменить 'Id' => $data['billId'][$i], на 'id' => $data['billId'][$i],

удалить $this->db->where('Id',$id);

$this->db->update_batch('salesitem', $entries,'Id'); до $this->db->update_batch('salesitem', $entries,'id');

И попробуйте еще раз.

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