Это мой контроллер:
public function admin_debit()
{
$date= date('Y-m-d H:i:s');
$trans_type=2;
$amount=$this->input->post('amount');
$total_amount = array_sum($amount);
$json=json_encode($_POST);
$user=$this->session->userdata('sess_pt_userid');
$data=array(
'dated_on'=>$date,
'amount'=>$total_amount,
'userid'=>$user,
'purpose'=>$json,
'trans_type'=>$trans_type
);
$response = $this->Petty_model->debit_insert($data);
//add flash data
if($response)
{
$this->session->set_flashdata('success', 'Cash Debited Successfully ');
redirect('Petty_controller/debitview');
}
else
{
$this->session->set_flashdata('error', 'Something worng. Error!!');
redirect('Petty_controller/debitview');
}
}
Здесь в моем коде произошла ошибка:
array_sum() ожидает, что параметр 1 будет массивом, значение null.
Я получаю еще одну ошибку, которая гласит:
Столбец "сумма" не может быть нулевым
просто проверьте, являются ли почтовые данные суммы массивом
$total_amount=0;
if($this->input->post('amount') && is_array($this->input->post('amount')){
$total_amount = array_sum($this->input->post('amount'));
}
$date= date('Y-m-d H:i:s');
$trans_type=2;
$json=json_encode($_POST);
$user=$this->session->userdata('sess_pt_userid');
$data=array(
'dated_on'=>$date,
'amount'=>$total_amount,
'userid'=>$user,
'purpose'=>$json,
'trans_type'=>$trans_type
);
$response = $this->Petty_model->debit_insert($data);
$amount=$this->input->post('amount');
$total_amount = array_sum($amount);
здесь $amount
равна нулю, потому что из ввода ничего не получает. и array_sum
требует использования массива. вместо этого он получает значение null, поэтому исключение возникает
Если ваша сумма равна "1,2,3", тогда вам нужно установить это в массиве
$amount = '1,2,3';
$amount = explode(",",$amount);
$total_amount = array_sum($amount);