CODEIGNITER 3X
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Bài 4: Load Model Trong Codeigniter

Trong bài này tôi se hướng dẫn các bạn tạo mới một model trong codeigniter, nội dung bao gồm:

  • Cấu hình database
  • Tạo mới một model trong codeigniter
  • Load model trong controller

1. Cấu Hình Database

Trong Codeigniter để kết nối với Database chúng ta phải cấu hình thông tin cho đúng. Bạn ở file application/config/database.php sau đó kéo xuống bên dưới chỉnh lại một số thông tin sau:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'Tên Đăng Nhập Database'; // Chỉnh ở đây
$db['default']['password'] = 'Mật Khẩu Đăng Nhập'; // Chỉnh ở đây
$db['default']['database'] = 'Tên Database'; // Chỉnh ở đây
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbtextareafix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_textarea'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Sau khi chỉnh xong bạn lưu lại và vào một Controller nào đó chạy lệnh này: $this->load->database();  Nếu không bị lỗi thì bạn config dababase đúng, còn không thì bạn kiểm tra lại thông tin nhé.

2. Tạo Mới Một Model Trong Codeigniter

Tất cả các file model đều nằm trong thư mục application/models nên bạn vào đó tạo một file news_model.php có nội dung như sau:

class News_model extends CI_Model
{
    public function getList()
    {
        // Code
    }
}
Trong đó News_model là tên model của bạn, nó phải giống với tên file news_model.php và ký tự đầu tiên phải ghi hoa. Mọi model đều phải kế thừa lớp CI_Model  thì mới hoạt động được. Vậy là bạn đã tạo xong model news_model rồi đó.

3. Load Model Trong Controller

Để load model trong controller ta dùng cú pháp: $this->load->model(‘ten_model’), và để gọi các hàm trong model ta dùng cú pháp: $this->ten_model->ham().

Ví dụ: Bạn tạo một mới Controller tên là News.php với nội dung như sau:

class News extends CI_Controller
{
    function news_list()
    {
        // Load model
        $this->load->model('news_model');
 
        // Gọi function trong model
        $news_list = $this->news_model->getList();
    }
}
Nếu bạn muốn load model và đặt cho nó một cái tên khác thì ta dùng cú pháp: $this->load->model(‘ten_model’,'ten_khac’); và để gọi các hàm trong model ta dùng cú pháp: $this->ten_khac->ham().

Ví dụ:
class News extends CI_Controller
{
    function news_list()
    {
        // Load model
        $this->load->model('news_model', 'm_news');
 
        // Gọi function trong model
        $news_list = $this->m_news->getList();
    }
}
Trong ứng dụng nếu một model nào đó luôn luôn sử dụng thì bạn có thể dùng chức năng Autoload của Codeigniter, bạn mở file application/config/autoload.php và tìm đến dòng (hình như dòng cuối cùng) $autoload['model'] = array(), sau đó bạn thêm model bạn cần load vào, ví dụ tôi thêm model news_model: $autoload['model'] = array(‘news_model’).

Sau khi thêm model vào autoload thì ở controller bạn chỉ cần sử dụng nó mà không cần phải load model đó ra
class News extends CI_Controller
{
    function news_list()
    {
        // Gọi function trong model
        $news_list = $this->news_model->getList();
    }
}
Nếu model của bạn nằm trong một folder. Ví dụ model của bạn nằm trong folder application/models/news/news_model.php thì bạn dùng cú pháp sau: $this->load->model(‘news/news_model’) và vẫn dùng cú pháp cũ để gọi hàm trong model: $this->news_model->getList();

Ví dụ: file model nằm trong thư mục: application/models/news/news_model.php
class News extends CI_Controller
{
    function news_list()
    {
        // Load model
        $this->load->model('news/news_model');
 
        // Gọi function trong model
       $news_list = $this->news_model->getList();
    }
}

Lời Kết

Trong bài này chúng ta biết được cách tạo mới một model trong codeigniter, cách gọi model trong controller và cấu hình database trong codeigniter. Bài này vẫn chưa đi sâu vào cách xử lý dữ liệu nhưng bạn đừng chủ quan vì những bài sau tôi sẽ không nhắc đến nó nữa. Bài tiếp theo chúng ta sẽ tìm hiểu thư viện Session trong codeigniter.

Cùng chuyên mục:

Chia sẻ theme web blog mobile đơn giản (Theme FMB1)

Chia sẻ theme web blog mobile đơn giản (Theme FMB1)

Freetuts Mobile Blog được code trên nền tảng PHP và MySQL, sử dụng Codeigniter Framework.

Bài 19: Rewrite URL trong Codeigniter

Bài 19: Rewrite URL trong Codeigniter

Sau một khoảng thời gian không đụng tới Codeigniter thì hôm nay lại có dịp…

Tìm hiểu quy trình load model trong codeigniter

Tìm hiểu quy trình load model trong codeigniter

Việc load model rất quen thuộc với những bạn sử dụng framwork codeigniter nhưng đôi…

Tự tạo thư viện load widget trong codeigniter

Tự tạo thư viện load widget trong codeigniter

Như các bạn biết mặc định hệ thống của Codeigniter hoạt động theo mô hình…

Hướng dẫn custom bộ core codeigniter

Hướng dẫn custom bộ core codeigniter

Có khi nào bạn đặt câu hỏi có nên sửa các file nằm trong bộ…

Bài 18: Tìm Hiểu Library Shopping Cart trong Codeigniter

Bài 18: Tìm Hiểu Library Shopping Cart trong Codeigniter

Chào mừng các bạn đã quay trở lại freetuts.net. Như vậy ở bài trước chúng…

Bài 17: Xây dựng crud add - update - edit user

Bài 17: Xây dựng crud add - update - edit user

Crud là một thuật ngữ không hề xa lạ với dân lập trình, nó là…

Bài 16: Kỹ thuật master layout trong codeigniter

Bài 16: Kỹ thuật master layout trong codeigniter

Đây là một vấn đề mở rộng mà CI không đề cập trong user guide,…

Bài 15: Tìm Hiểu Helper Language Trong Codeigniter

Bài 15: Tìm Hiểu Helper Language Trong Codeigniter

Trong bài viết này , chúng ta chỉ tìm hiểu ở khái niệm cơ bản…

Bài 14: Tìm Hiểu Helper Text Trong Codeigniter

Bài 14: Tìm Hiểu Helper Text Trong Codeigniter

Nhìn tiêu đề, hẳn các bạn đã đoán ra hôm nay chúng ta sẽ tìm…

Bài 13: Tìm Hiểu Helper Date Trong Codeigniter

Bài 13: Tìm Hiểu Helper Date Trong Codeigniter

Hôm nay chúng ta sẽ tiếp tục tìm hiểu sâu hơn về các helper mà…

Bài 12: Đóng dấu watermark image trong codeigniter

Bài 12: Đóng dấu watermark image trong codeigniter

Đầu tiên xin gửi lời cảm ơn các bạn đã quan tâm và theo dõi…

Bài 11: Tìm Hiểu Library Image Trong Codeigniter

Bài 11: Tìm Hiểu Library Image Trong Codeigniter

Kết thúc bài trước, chúng ta đã hoàn thành khá xuất sắc phần upload hình…

Bài 10: Tìm hiểu library upload trong codeigniter

Bài 10: Tìm hiểu library upload trong codeigniter

Chào mừng các bạn đã quay trở lại freetuts.net, đã lâu rồi tôi không viết…

Bài 9: Tìm Hiểu Library Form Validation

Bài 9: Tìm Hiểu Library Form Validation

Cho tới bài viết này, chắc hẵn các bạn đều đã biết rõ cách load…

Bài 8: Tìm hiểu Helper Url Và Form Trong Codeigniter

Bài 8: Tìm hiểu Helper Url Và Form Trong Codeigniter

Trong Codeigniter Framework nó chia ra 2 khái niệm đó là helper & library, vậy…

Bài 7: Load Library Pagination Trong Codeigniter

Bài 7: Load Library Pagination Trong Codeigniter

Đây là một library cũng khá là phổ biến, hay được sử dụng trong quá…

Bài 6: Load Library Database Trong Codeigniter

Bài 6: Load Library Database Trong Codeigniter

Tôi sẽ không giới thiệu về library này mà sẽ xoáy sâu vào các thao…

Bài 5: Load Library Session Trong Codeigniter

Bài 5: Load Library Session Trong Codeigniter

Đây là một thư viện khá là quan trọng , trong framework CI (Codeigniter) .…

Bài 3: Load View Trong Codeigniter

Bài 3: Load View Trong Codeigniter

Trong Codeigniter tất cả các Views đều được đặt trong thư mục application/views. Các bạn…

Top