Cum se creează un model pentru un tabel MySql în Codeigniter?

Configurare noua (How To)

Situatie

Sa presupunem ca folositi codeigniter si aveti nevoie de un model pentru un tabel in MySQL.

Solutie

Si pentru a crea un model pentru un tabel MySQL în CodeIgniter, puteți urma acești pași:

  1. Creați un fișier nou în folderul aplicație/modele și denumiți-l după tabelul pentru care doriți să creați un model. De exemplu, dacă tabelul se numește utilizatori, puteți denumi fișierul model Users_model.php.
  2. În fișierul model, creați o nouă clasă care extinde clasa CI_Model. Această clasă va conține metodele de interacțiune cu tabelul bazei de date.
  3. În metoda constructorului clasei model, puteți încărca biblioteca de baze de date apelând $this->load->database(). Acest lucru vă va permite să utilizați funcțiile bibliotecii baze de date în metodele modelului dvs.
  4. Definiți metodele modelului dvs. Puteți crea metode pentru a efectua diverse operații pe tabelul bazei de date, cum ar fi inserarea, actualizarea, ștergerea și preluarea datelor.

Iată un exemplu de clasă model pentru un tabel de utilizatori:

<?php

class Users_model extends CI_Model {

    public function __construct() {
        $this->load->database();
    }

    public function insert_user($data) {
        return $this->db->insert(‘users’, $data);
    }

    public function update_user($id, $data) {
        $this->db->where(‘id’, $id);
        return $this->db->update(‘users’, $data);
    }

    public function delete_user($id) {
        $this->db->where(‘id’, $id);
        return $this->db->delete(‘users’);
    }

    public function get_users() {
        $query = $this->db->get(‘users’);
        return $query->result_array();
    }

    public function get_user($id) {
        $this->db->where(‘id’, $id);
        $query = $this->db->get(‘users’);
        return $query->row_array();
    }
}

Apoi, puteți utiliza acest model în controler, încărcându-l cu funcția $this->load->model() și apelând metodele modelului după cum este necesar.

De exemplu:

$this->load->model(‘Users_model’);
$data = array(
    ‘name’ => ‘John’,
    ’email’ => ‘john@example.com’
);
$this->Users_model->insert_user($data);

 

Tip solutie

Permanent

Voteaza

(8 din 10 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?