简体   繁体   English

Codeigniter:没有错误,但不会将数据插入数据库

[英]Codeigniter: No error but it won't insert data to database

Model:模型:

function insertMonths($dr){
    $cus = $this->db->query("SELECT * FROM purchase WHERE status=1 AND dr_no='$dr'");
    return $cus->row();
    $start = (new DateTime($cus->date_sold))->modify('+1 month');
    $end = (new DateTime($cust->due_date))->modify('+1 month');
    $interval = DateInterval::createFromDateString('1 month');
    $period = new DatePeriod($start, $interval, $end);

    $query = $this->db->query("SELECT * FROM duedate WHERE dr_no='$dr'");
    if($query->num_rows() > 0){
        return false;
    }else{
        foreach ($period as $dt) {
          $datas = array(
             'cust_id' => $cust->cust_id ,
             'mi' => $dt->format("Y-m-d") ,
             'amount' => $cust->monthly_instlmnt,
             'dr_no' => $dr,
             'payment' => $cust->monthly_instlmnt
             );
          $this->db->insert('duedate', $datas);
        }
    }
}

Controller:控制器:

function ledger($id, $dr){
    $this->load->view('layout/header');
    $data['cust_data'] = $this->m->getData($id);
    $datar['mos'] = $this->m->insertMonths($dr);
    $this->load->view('receivables/ledger', $data, $datar);
    $this->load->view('layout/footer');
}

Botton js code that links to ledger:链接到账本的 Botton js 代码:

'<td><a href="<?php echo base_url().'Receivables/ledger/';?>'+data[i].cust_id+'/'+data[i].dr_no+'"><button type="button" class="btn btn-success">View</button></a></td>'

I want it to add $datas into table duedate when I enter link ledger/id/dr with conditions if there is duplicate data it won't add.我希望它在输入链接ledger/id/dr时将$datas添加到表duedate ,如果存在不会添加的重复数据。 But the problem is it won't add eventhough there is no duplicate data.但问题是即使没有重复数据,它也不会添加。

Why do you have a return statement on line 2 of your function?为什么你的函数的第 2 行有一个return语句?

$cus = $this->db->query("SELECT * FROM purchase WHERE status=1 AND dr_no='$dr'");
return $cus->row();

If you neglected that, it won't go to your insert query since you already commanded the function to return.如果您忽略了这一点,它将不会转到您的插入查询,因为您已经命令该函数返回。


Remove this ( On line 2 of your function )删除这个(在你的函数的第 2 行

return $cus->row();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM