Đào Tạo PHP & Mysql

Học PHP Online - PHP Framework - Tự Học PHP

CakePHP Framework

CakePHP Framework: Thao tác trên cơ sở dữ liệu

Ở bài trước, chúng ta đã có dịp đề cập về thao tác cài đặt và tìm hiểu các quy tắc cơ bản trong CakePHP Framework. Trong bài này, chúng tôi tiếp tục hưỡng dẫn các bạn thao tác với mô hình cơ sở dữ liệu. Từ đó, chúng ta có thể tiến tới viết ứng dụng thực tế trên nền CakePHP Framework.
 
Để dễ dàng cho việc tương tác với cơ sở dữ liệu (CSDL). Trước tiên chúng ta cần cấu hình theo đường dẫn app/config/database.php thông tin kết nối vào hệ thống. (Xem lại bài CakePHP Framework cho người mới bắt đầu).
 
Sau khi đã kết nối vào hệ thống, tiếp đến ta tiến hành thực hiện các câu truy vấn sau để tiến hành tạo bảng dữ liệu mẫu, để phục vụ cho những đoạn code test bên dưới.
Tiếp tục, trong thư mục app/models ta tiếp tục tạo file tên book.php với nội dung sau:
Có thể hiểu ý nghĩa của những đoạn code trên như sau:
- Tên file và class Model được đặt ở dạng số ít.
- Tên Model đặt giống với tên table tương ứng nhưng ở dạng số ít.
- VD tôi có table users .
Tên file Model dùng cho table users là :§ user.php
Tên class là : User§
- Như trong ví dụ này tôi có table books thì
Tên file Model dùng cho table books là :§ book.php
Tên class là : Book§
Kế tới trong thư mục app/controllers/ ta tạo file books_controller.php với nội dung sau:
- Hàm : $this->Book->find("all") Gọi Model Book , Model Book sẽ tự động lấy tất cả dữ liệu trong table books và trả về kết quả dạng mãng như sau:
- Hàm : $this->set("data",$data) gán giá trị vào biến $data để hiển thị tương ứng

Trong thư mục app/view/tạo file thư mục books tương ứng với Controller Bookstrên
Trong thư mục books, tạo fileexam01.cpt:
Sau khi đã hoàn tất các công đoạn trên. Chạy thử kết quả theo đường dẫn sau ta sẽ có:
http://localhost/cakephp/books/exam01
Truy vấn có điều kiện :
Thêm vào Controller Book với function exam02 :
-Tham số“conditions”ơ đây ý nói điều kiện lọc . Ở đây tôi lọc “những title chuỗi bắt đầu là PHP và phía sau là gì cũng được
- Bạn có thể thêm điều kiệu lọc như “lấy tất cả ngoại trừ id có giá trị là 4
- Vậy Controller Books bây giờ là :
Trong app/views/booksTạo file exam02.ctp:
Chạy kiểm tra thử :http://localhost/cakephp/books/exam02
Truy vấn theo cách bình thường:
- Bình thường ở đây là ta viết 1 câu truy vấn hoàn chỉnh và thực thi nó, không dùng các hàm
Hổ trợ sẵn của CakePHP , bởi đôi lúc ta cần thực thi những câu truy vấn dài và phức tạp mà lại không nhớ cách viết của CakePHP thì dùng phương pháp này

Thêm vào Controller Book function exam03 :
Trong app/views/books/tạo fileexam03.ctp:
Chạy kiểm tra thử :http://localhost/cakephp/books/exam03


Vậy qua bài này ta cần lưu ý các điểm sau :
- Tên table đặt dạng số nhiều , Model tương ứng cùng tên và ở dạng số ít . Vd : table users -> Moldel User
- Các hàm truy vấn CSDL :
+ $this->Book->find("all");
+ $this->Book->find("all",dieu_kien);
+ $this->Book->query(cau_truy_van_sql);
+ $this->Book->getNumRows();

(Thái Thanh Phong)
3951
Bạn vẫn chưa hiểu rõ vấn đề ?. Bạn vẫn còn nhiều điều thắc mắc ?. Bạn gặp lỗi khi thực hành mã lệnh trên ?. Hãy tham gia diễn đàn QHOnline.Info để nhận được sự giúp đỡ từ phía cộng đồng nhanh nhất. Đồng thời tải những tài liệu giá trị tại diễn đàn. Việc đăng ký là hoàn toàn miễn phí, hãy đăng ký ngay để chúng tôi giúp đỡ bạn nhé.

Ghi rõ nguồn từ website QHOnline.Info - Khi bạn phát hành lại thông tin từ website này

Phản hồi của bạn Tiếng Anh Telex VNI VIQR





Manh Vu (22:19 12/05/2011)

bai vie rat hay khac xuc tich . Cam On
Than!

Reply

Nguyễn Quốc Đạt (16:53 01/12/2011)

Thầy ơi cho em hỏi. em có bảng Products và Categories . trong bẳng Products có 1 trường là category_id. vậy trong ProductsController em phải truy vấn như thế nào để có thể hiện thị CategoryName khi liệt kê danh sách sản phẩm ở view ạ? Và ở view hiển thị field CategoryName như thế nào ạ?

Reply

Thái Thanh Phong (20:50 03/12/2011)

Hi bạn, bạn có thể xem bài viết tổng hợp cơ bản về CakePHP trên diễn đàn QH Online tại link sau : http://www.qhonline.info/forum/showthread.php/1393-tong-hop-cac-bai-viet-ve-cakephp-updated-daily-boi-thai-thanh-phong

Chúc bạn học tốt !

Reply

PHP MYSQL Online - Hoc PHP - Dao Tao PHP - Học PHP - CakePHP Framework - Lap Trinh PHP Can Ban - Lap Trinh PHP Nang Cao - PHP Framework - Tài liệu,Thư viện
Copyright 2007-2010 © QHOnline.Info | Powered By QHOnline Version 2.0 - XHTML Valid