2015-07-03 17 views
8

Ho problemi a mettere la query MySQL su php Codeigniter. Provo a cercare ma non ho ancora trovato.Aggiornamento MySql Script su CodeIgniter

Questo è il codice:

UPDATE `Pelayanan` SET `TGLBAYAR` = INSERT(`TGLBAYAR`, 3, 0, '/'), INSERT(`TGLBAYAR`, 6, 0, '/') 
UPDATE `Pelayanan` SET `TGLRUBAH` = INSERT(`TGLRUBAH`, 3, 0, '/'), INSERT(`TGLRUBAH`, 6, 0, '/') 
ALTER TABLE `Pelayanan` MODIFY COLUMN (`TGLBAYAR` DATE, `TGLRUBAH` DATE) 

UPDATE `Pelayanan` SET `LAMA` = DATEDIFF(`TGLBAYAR`, `TGLRUBAH`) 

voglio eseguire questo codice in sequenza, ma non so se utilizzare CASE o qualcosa del genere. Come è il codice per controller.php e model.php?

+1

u può descrivere un po 'di più – mokNathal

risposta

0

Qual è l'inserto

(TGLBAYAR, 3, 0, '/'), INSERT (TGLBAYAR, 6, 0, '/')

Si può cambiare per essere stringa? Se può, del modello aggiungere questa funzione e chiamarlo da regolatore

public function update_data(){ 
    $fields = array(
      'TGLBAYAR' => "INSERT(`TGLBAYAR`, 3, 0, '/'), INSERT(`TGLBAYAR`, 6, 0, '/')", 
      'TGLRUBAH' => "INSERT(`TGLRUBAH`, 3, 0, '/'), INSERT(`TGLRUBAH`, 6, 0, '/')" 
     ); 
    $this->db->update('Pelayanan', $fields, array()); 

    $fields = array(
      'TGLBAYAR' => array(
       'name' => 'TGLBAYAR', 
       'type' => 'DATE', 
     ), 
      'TGLRUBAH' => array(
       'name' => 'TGLRUBAH', 
       'type' => 'DATE', 
     ), 
    ); 
     $this->db->modify_column('Pelayanan', $fields); 

    $fields = array(
      'LAMA' => "DATEDIFF(`TGLBAYAR`, `TGLRUBAH`)" 
     ); 
    $this->db->update('Pelayanan', $fields, array()); 

} 
+0

TGLBAYAR è già in String Ho eseguire questo codice, ma ancora l'errore: "Call to undefined metodo CI_DB_mysqli_driver :: modify_column()" – bumblebee

+0

@ user1213 Quale versione CI si utilizza? prova a fare riferimento a questo https://ellislab.com/codeigniter/user-guide/database/forge.html –

+0

Grazie. Io uso Codeigniter 3.0.0. Penso che dovrei migrare il database per correggere l'errore – bumblebee

0

sezione tavolo alter dovrebbe essere la followig:

$this->load->dbforge(); 

$fields = array(
      'TGLBAYAR' => array(
       'name' => 'TGLBAYAR', 
       'type' => 'DATE', 
     ), 
      'TGLRUBAH' => array(
       'name' => 'TGLRUBAH', 
       'type' => 'DATE', 
     ), 
    ); 
$this->dbforge->modify_column('Pelayanan', $fields); 

Inoltre, se avete qualche errore messaggio per favore condividerlo con noi.