CodeIgniter: Wie übergeben $this->db->insert_id () - Wert auf den Controller, um eingefügt zu werden in einer anderen Tabelle?

Ich versuche, einfügen von Feldern zu einer Tabelle, und ergreifen Sie die id (davon ausgegangen, dass der Primärschlüssel der Tabelle ist die "AUTO INCREMENT"). Ich brauche dieses Datensatzes automatische inkrementelle ID eingefügt werden in eine zweite Tabelle. Ich kann offensichtlich return $this->db->insert_id (), aber wie greife ich auf den Wert im Controller danach?

Habe ich versucht zu definieren, es in eine variable und access in den controller, aber es hat nicht funktioniert.

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: insert_id
Filename: controllers/POS.php
Line Number: 87

Modell:

function populate_pos_purchase_table($posPurchase) {
    $this->db->trans_begin();
    $this->db->insert('pos_purchase', $posPurchase);

    if ($this->db->trans_status() === FALSE) {
        $this->db->trans_rollback();
        return false;
    }
    else {
        $this->db->trans_commit();
        $insert_id = $this->db->insert_id();
        return $insert_id;
        return true;
    }
}

Controller:

function update_payment_details() {

$newPayment = array (
    'pos_id' => $insert_id, //Line Number: 87
    'payment_description' => 'Point of Sales',
    'payment_method' => $this->input->post('payment_method'),
    'payment_date' => $this->input->post('payment_date'),
    'paid_amount' => $this->input->post('total'),
    'due_amount' => 0
);

$this->pos_model->populate_new_payment_table($newPayment);  
$this->index();

} 
In Ihrem Modell, eine Funktion zurückgeben kann zweimal back-to-back so. Siehe die Dokumentation php.net/manual/en/function.return.php. "Wenn der Aufruf innerhalb einer Funktion, return-Anweisung sofort beendet die Ausführung der aktuellen Funktion und gibt Ihr argument als Wert des Funktionsaufrufs. Rückkehr wird am Ende auch die Ausführung einer eval() Anweisung oder ein Skript-Datei."
Danke. Ich war nicht bewusst, dass.

InformationsquelleAutor Madhawa Ratnayake | 2013-07-10

Schreibe einen Kommentar