Danh mục

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

Số trang: 16      Loại file: pdf      Dung lượng: 205.05 KB      Lượt xem: 11      Lượt tải: 0    
Thư viện của tui

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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ệ...
Nội dung trích xuất từ tài liệu:
CakePHP Framework: Thao tác trên cơ sở dữ liệuCakePHP 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 quytắc cơ bản trong CakePHP Framework. Trong bài này, chúng tôi tiếp tụchưỡ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 tacần cấu hình theo đường dẫn app/config/database.php thông tin kết nối vàohệ 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 truyvấn sau để tiến hành tạo bảng dữ liệu mẫu, để phục vụ cho những đoạn codetest bên dưới.01 CREATE TABLE books (02 id int(11) NOT NULL AUTO_INCREMENT, isbn varchar(13) NOT03 NULL,04 title varchar(64) NOT NULL,05 description text NOT NULL,06 PRIMARY KEY (id)07 )0809 INSERT INTO `books` VALUES (1, abc, Kĩ thuật lập trình, abc);10 INSERT INTO `books` VALUES (2, c,c++, Lập trình C, lap trinh c); INSERT INTO `books` VALUES (3, C++, Cấu trúc dữ liệu và giả11 thuật, abc); INSERT INTO `books` VALUES (4, php, PHP căn bản, php, lap trinh12 php); INSERT INTO `books` VALUES (5, php nc, PHP Nâng cao, php,php13 nang cao); INSERT INTO `books` VALUES (6, php fw, PHP Framework, php,14 php framework);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ộidung sau:1 3 var $name = Book; // tên cua Model Book4}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.phpTê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.phpTên class là : Book§Kế tới trong thư mục app/controllers/ ta tạo file books_controller.php với nộidung sau: 5 $data = $this->Book->find(all);6 $this->set(data,$data);7 }89}- Hàm : $this->Book->find(all) Gọi Model Book , Model Book sẽ tự độnglấ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ứngTrong thư mục app/view/tạo file thư mục books tương ứng với ControllerBookstrênTrong thư mục books, tạo fileexam01.cpt:01 02 03 echo .$item[Book][title].;17 echo ;18 }19 }20 ?>21 22 Sau khi đã hoàn tất các công đoạn trên. Chạy thử kết quả theo đường dẫn sauta sẽ có:http://localhost/cakephp/books/exam01Truy vấn có điều kiện :Thêm vào Controller Book với function exam02 :01 “0,2”16 );17 $data = $this->Book->find(all,$sql);18 $this->set(data,$data);19 }2021 }-Tham số“conditions”ơ đây ý nói điều kiện lọc . Ở đây tôi lọc “những titlechuỗ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à :01 07 $this->set(data,$data);08 }0910 function exam02(){11 $sql = array(12 conditions=> array(13 title LIKE=> PHP%,14 “id !=” => 4,15 ),16 “limit” => “0,2”17 ); $data = $this->Book->find(all,$sql);18 $this->set(data,$data);19 }2021 }Trong app/views/booksTạo file exam02.ctp:01 02 03 18 }19 }20 ?>21 22 Chạy kiểm tra thử :http://localhost/cakephp/books/exam02Truy 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ôngdùng các hàmHổ 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àivà phức tạp mà lại không nhớ cách viết của CakePHP thì dùng phương phápnàyThêm vào Controller Book function exam03 :1 09 10 id11 Title12 ;13 foreach($data as $item){14 echo ;15 echo .$item[books][id].;16 echo .$item[books][title].;17 echo ;18 }19 }20 ?>21 22 Chạy kiểm tra thử :http://localhost/cakephp/books/exam03Vậ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(); ...

Tài liệu được xem nhiều: