[CodeIgniter 3.x] Quy trình làm việc Model CodeIgniter

   Codeigniter 3.x |   12-06-2016 |   691

Trong bài viết về Model Codeigniter mình sẽ giới thiệu đến các bạn nội dung như sau:

  1. Vai trò và tầm quan trọng Model
  2. Tạo mới Model Codeigniter
  3. Sử dụng Model

1. Vai trò và tầm quan trọng Model

Model là tầng xử lý những tác vụ liên quan đến tương tác cơ sở dữ liệu từ những yêu cầu của controller. Model xử lý và trả về kết quả dưới dạng một mảng dữ liệu, khi đó thông quaview ta sẽ đẩy nội dung của mảng dữ liệu ấy ra bên ngoài. Việc tách biệt tầng model có rất nhiều thuận lợi, trước là dễ quản lý sau là dễ nâng cấp và phát triển trong tương lai của mã nguồn.

– Các thao tác thường sử dụng như : SELECT, UPDATE, DELETE…..  như vậy bạn cũng thể hình dung ra nó có tầm quan trọng như thế nào rồi phải không ?

2. Tạo mới Model Codeigniter

– Để tạo mới một Model từ thư mục gốc của ứng dụng các bạn di chuyển vào trong application/models. Tất cả Model nằm trong thư mục models. Ví dụ tôi sẽ tạo 1 Model có tên là Marticles(Bài viết  or Post ) như sau:

Lưu ý:

Tên class (Marticles) được viết hoa chữ cái đầu tên và tên file Marticles.php cũng được viết hoa chữ cái đầu tiên

– Class Marticles phải đảm bảo kế thừa lớp CI_Model của codeigniter

Vậy làm sao chúng ta có thể sử dụng lớp model articles này ? Các bạn cũng xem tiếp nhé

3. Load Model trong Codeigniter

– Để load và sử dụng được lớp Model vừa tạo các bạn phải đảm được ứng dụng của các bạn đã được kết nối với cơ sở dữ liệu. Việc này không hoàn toàn khó khăn, các chỉ việc quay lại thư mục application/config/database.php để cấu hình.

– Ở đây mình sử dụng Xampp Server nên mình không cần tới mật khẩu để đăng nhập vào myphpadmin:

Như vậy tôi đã kết nói thành công cơ sở dữ liệu rồi. (Nếu các bạn chưa kết nối thành công thì cần xem lại cấu hình database của mình nhé :)) )

Tiếp đến tôi sẽ tạo 1 controller trong application/controllers có tên là Articles.php  và có nội dung như sau:

Trong đó controller trên tôi có khai báo 1 hàm index. Hàm này làm nhiệm vụ có nhiệm vụ hiển thị các danh sách bài viết. Trong hàm index này tôi có sử dụng cấu trúc load một model : $this->load->model(‘marticles’); trong đó marticlestên model cần load để làm việc. Và tôi có sử dụng đoạn code $articles = $this->marticles->getList(); tôi dùng 1 biến $articles để hứng lấy dữ liệu từ trả về từ một hàm của model marticles.

– In dữ liệu ra dưới dạng mảng

Vậy trong Model chúng ta sẽ có nội dung sau :

Trong model chúng ta sẽ có gì ?

– Hàm __construct() các bạn xem ở bài trước controller nhé.

$this->load->database(); Mình thấy nhiều người quên không gọi hàm này thì Model chúng ta sẽ không hiểu các $db này ở đâu ra. Hàm này sẽ kết nối đến database của các bạn khai báo ở application/config/database.php

– 1 Hàm getListArticles() hàm này sẽ trả về tất cả record có trong bảng articles và dữ liệu trả vể sẽ dưới dạng 1 mảng Object (result () -> trả về mảng  Object , result_array() ->  Mảng phần tử )

Vậy tóm lại để sử dụng được 1 model các bạn sử dụng cú pháp :

Sử dụng hàm trong model các bạn cần sử dụng cú pháp sau:

Thêm một vấn đề nảy sinh ra ở đây : Vậy tôi muốn khi chạy ứng dụng thì ứng dụng luôn luôn load một model  thì làm thế nào ? Thực sự quá đơn giản các bạn ah, để làm được điều này các bạn sử dụng chức năng autoload trong codeigniter. Để sử dụng chức năng autoload trong codeigniter các bạn vào trong thư mục application/config/autoload.php . Mở file autoload.php

Các bạn kéo xuống dưới cùng dòng 129 : $autoload[‘model’] = array(); các bạn chỉ cần đưa tên model nào cần load sẵn vào mảng array() là xong:

Ví dụ :

Ngoài việc các bạn có thể autoload model bạn có thể autoload  libraries, helper, language… vấn đề này mình sẽ giới thiệu thêm trong các phần tiếp theo.

KẾT THÚC

Kết thúc bài này các bạn cũng hiểu ít nhiều về Model  rồi phải không ? Trong bài viết sau mình sẽ giới thiệu các bạn một số active record thường xuyên sử dụng nhất. Thân !

[CodeIgniter 3.x] Quy trình làm việc Model CodeIgniter
5 (100%) 3 votes
Từ khóa : ,