Tải bản đầy đủ (.pdf) (87 trang)

Tieu luan chuyen nganh LARAVEL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.08 MB, 87 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
NGÀNH CÔNG NGHỆ THÔNG TIN
---o0o---

TIỂU LUẬN CHUYÊN NGÀNH

Tìm hiểu một PHP framework và
viết ứng dụng web minh họa
GVHD : ThS. Nguyễn Minh Đạo
SVTH : Lê Hà Sơn Văn Quốc Huy
MSSV : 12110321
LỚP

: 12110CLC

Tp. Hồ Chí Minh, tháng 12 năm 2015


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................


.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................

Giáo viên hướng dẫn


NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................

.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
Giáo viên phản biện

ThS. Nguyễn Thanh Phước


LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ
trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác. Nay em xin
được phép gửi lời cảm ơn chân thành này đến thầy Nguyễn Minh Đạo, người đã
trực tiếp hỗ trợ em trong suốt quá trình định hướng chọn đề tài, hướng dẫn, nhận
xét và góp ý cũng như cung cấp tài liệu tham khảo. Nếu không có những lời hướng
dẫn, những kinh nghiệm thực tiễn của thầy thì em nghĩ rằng bài thu hoạch này sẽ
khó có thể hoàn thiện và hoàn thành đúng thời hạn được. Một lần nữa, em xin cảm
ơn thầy.
Em cũng xin chân thành cảm ơn các quý thầy cô trong khoa Đào tạo Chất
lượng cao đã giúp đỡ hỗ trợ kiến thức cũng như giải đáp thắc mắc của em. Cùng
với đó, em xin được gửi cảm ơn đến các bạn cùng khóa đã cung cấp nhiều thông tin
và kiến thức hữu ích giúp cho em hoàn thiện đề tài hơn.
Bài thu hoạch được thực hiện trong khoảng thời gian gần 4 tuần. Khoảng
thời gian có hạn, cùng với kiến thức còn hạn chế và còn nhiều bỡ ngỡ khác do đó
thiếu sót là điều không thể tránh khỏi nên em rất mong nhận được những ý kiến
đóng góp quý báo từ các quý Thầy Cô để kiến thức của em được hoàn thiện hơn sau
này. Em xin chân thành cảm ơn.

Thành phố Hồ Chí Minh, ngày 30 tháng 12 năm 2015

Sinh viên thực hiện
Lê Hà Sơn Văn Quốc Huy


TÓM TẮT
Trong những năm trở lại đây, công nghệ thông tin đã và đang không ngừng
phát triển một các mạnh mẽ. Sự ra đời của công nghệ thông tin đã một phần nào
giúp cho xã hội, đời sống của người dân vươn lên một tầm cao mới và một cách rõ
rệt, ngoài ra công nghệ thông tin còn góp phần không nhỏ cho sự phát triển của
nhân loại khắp nơi trên thế giới.
Trong thế kỷ 21 như hiện nay, việc quảng bá sản phẩm và quản lý cửa hàng
trên website đã và đang là xu thế của nhiều cửa hàng lớn và nhỏ trong và ngoài
nước và chắc chắn mọi người không ai còn xa lạ mới mô hình kinh doanh này bởi vì
nó đi vào đời sống hằng ngày của mọi người điển hình nhất là các trang thương mại
điện tử như Lazada, Zalora,… bởi tính tiện lợi và không cần phải tốn công sức để
có thể sở hữu được món hàng mà bản thân mình yêu thích. Song song với đó, PHP
được xem là ngôn ngữ thông dụng để viết và phát triển các website thương mại tốt.
Ngoài ra, PHP có rất nhiều frameworks hỗ trợ và giúp cho việc xây dựng và phát
triển web trở nên nhẹ nhàng cũng như hiệu quả hơn. Một trong những framework
được đánh giá cao nhất và số lượng lập trình viên ưa chuộng nhiều nhất đó là
Laravel Framework. Ngay từ khi ra mắt, Laravel đã thu hút không ít sự chú ý của
các lập trình viên bởi sự tinh tế của nó. Và sự tin tế của Laravel ở đây đó là bắt kịp
được xu hướng công nghệ mà điểm nhấn là các tính năng mới trong các phiên bản
PHP 5.3 trở lên. Theo thống kê năm 2014 thì Framework Laravel được sử dụng
nhiều nhất và có tỷ lệ chênh lệch khá nhiều so với các framework hiện tại và theo
sau đó là Phalcon, Symfony2. Việc nghiên cứu, tìm hiểu về Framework khá mới mẻ
này là rất cần thiết và phù hợp với xu thế hiện đại [4]. Chính vì những điều này, em
đã chọn đề tài “Tìm hiểu Laravel Framework và xây dựng ứng dụng quản lý
hoạt động kinh doanh các mặt hàng điện tử trên nền Laravel 5.1 Framework”
để tìm hiểu.



Mục lục
DANH MỤC HÌNH VẼ ..................................................................................... I
CHƯƠNG I. TỔNG QUAN VỀ LARAVEL 5.1 ............................................. 1
1. Giới thiệu về Laravel 5.1 ............................................................................................ 1
2. Các thành phần chính trong Laravel 5.1 ..................................................................... 2
2.1.

Routing. ............................................................................................................... 2

2.2.

View. ................................................................................................................... 5

2.3.

Controller. ........................................................................................................... 6

2.4.

Middleware.......................................................................................................... 7

3. Thao tác với cơ sở dữ liệu .......................................................................................... 9
3.1.

Giới thiệu............................................................................................................. 9

3.2.


Cấu hình ............................................................................................................ 11

3.3.

Query builder..................................................................................................... 12

4. Eloquent ORM.......................................................................................................... 16
-

Lấy dữ liệu ............................................................................................................ 16

-

Thêm dữ liệu (Insert) ............................................................................................ 17

-

Cập nhật dữ liệu (Update) ..................................................................................... 17

-

Xóa dữ liệu (Delete).............................................................................................. 18

CHƯƠNG II.TỔNG QUAN VỀ PHP ............................................................ 20
1. Giới thiệu về PHP ..................................................................................................... 20
2. Tại sao nên chọn PHP ............................................................................................... 20
3. Phương thức hoạt động của PHP. ............................................................................. 21
4. Các loại thẻ trong PHP ............................................................................................. 22
5. Biến........................................................................................................................... 22
6. Hằng ......................................................................................................................... 23

7. Các kiểu dữ liệu ........................................................................................................ 24
8. Biểu thức điều kiện và vòng lặp ............................................................................... 24
9. Hàm .......................................................................................................................... 27
10.

Toán tử .................................................................................................................. 28

11.

Lớp và đối tượng ................................................................................................... 30

12.

Cookie và Session ................................................................................................. 31

CHƯƠNG III. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU MYSQL ................... 33
1. Giới thiệu cơ sở dữ liệu ............................................................................................ 33
2. Mục đích sử dụng cơ sở dữ liệu ............................................................................... 33
3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL ........................................................... 34
4. Các thao tác cập nhật dữ liệu .................................................................................... 38
4.1.

SELECT (Truy vấn mẫu tin): ............................................................................ 38


4.2.

INSERT(Thêm mẫu tin): ................................................................................... 38

4.3.


UPDATE(Cập nhật dữ liệu): ............................................................................. 38

4.4.

DELETE(Xóa mẫu tin): .................................................................................... 38

5. Các hàm thông dụng trong MySQL ......................................................................... 38
5.1.

Các hàm trong phát biểu GROUP BY .............................................................. 38

5.2.

Các hàm xử lí chuỗi: ......................................................................................... 39

5.3.

Các hàm xử lí về thời gian ................................................................................ 39

5.4.

Các hàm về toán học ......................................................................................... 39

CHƯƠNG IV. XÂY DỰNG WEBSITE KINH DOANH CÁC THIẾT BỊ
ĐIỆN TỬ
.............................................................................................. 40
1. Khảo sát hiện trạng ................................................................................................... 40
2. Nghiệp vụ ................................................................................................................. 41
3. Xác định yêu cầu ...................................................................................................... 42

4. Mô hình yêu cầu hóa. ............................................................................................... 43
5. Lược đồ chức năng ................................................................................................... 48
6. Mô tả chi tiết use case............................................................................................... 50
6.1.

Ứng dụng cho khách hàng ................................................................................. 50

6.2.

Ứng dụng cho quản trị viên ............................................................................... 52

7. Thiết kế cơ sở dữ liệu ............................................................................................... 53
8. Bảng sơ đồ thực thể và các liên kết. ......................................................................... 55
9. Bản vẽ sơ đồ lớp – Class Diagram ........................................................................... 56
10.

Bản vẽ tuần tự - Sequence diagram ...................................................................... 57

11.

Danh sách chi tiết thuộc tính các bảng dữ liệu ..................................................... 58

12.

Thiết kế giao diện. ................................................................................................ 67

12.1.

Các trang dành cho người dùng ..................................................................... 67


12.2.

Các trang dành cho quản trị cửa hàng. .......................................................... 72

13.

Hướng phát triển đề tài ......................................................................................... 77

TÀI LIỆU THAM KHẢO ............................................................................... 78


DANH MỤC HÌNH VẼ
Hình 1.1: Sơ đồ thống kê các Framework PHP phổ biến ............................................ 11
Hình 1.2 : Mô tả hoạt động của Middleware – Nguồn StackPHP .............................. 17
Hình 2.1: Hoạt động của PHP ................................................................................... 30
Hình 5.1: Use case của người dùng ............................................................................ 57
Hình 5.2: Use case của quản trị website ..................................................................... 58
Hình 8.1: Bảng sơ đồ thực thể và các liên kết ............................................................. 64
Hình 9.1: Bảng vẽ sơ đồ lớp ........................................................................................ 65
Hình 10.1: Bảng vẽ tuần tự cho việc thêm giỏ hàng ................................................... 66
Hình 10.1: Bảng vẽ tuần tự cho việc thêm giỏ hàng .................................................... 67
Hình 12.1: Màn hình trang chủ website ...................................................................... 76
Hình 12.2: Màn hình trang tất cả sản phẩm ............................................................... 77
Hình 12.3: Màn hình trang search sản phẩm ............................................................. 78
Hình 12.4: Màn hình trang login ................................................................................ 78
Hình 12.5: Màn hình trang đăng ký ............................................................................. 79
Hình 12.6: Màn hình trang thông tin người dùng ....................................................... 80
Hình 12.7: Màn hình trang giỏ hàng ........................................................................... 80
Hình 12.8: Màn hình trang dashboard quản trị .......................................................... 81
Hình 12.9: Màn hình trang quản lý user ..................................................................... 82

Hình 12.10: Màn hình trang quản lý sản phẩm .......................................................... 82
Hình 12.11: Màn hình trang quản lý hãng .................................................................. 83
Hình 12.12: Màn hình trang quản lý loại ................................................................... 83
Hình 12.13: Màn hình trang quản lý đơn hàng............................................................ 84
Hình 12.14: Màn hình trang xem thống kê top người dùng ........................................ 84
Hình 12.15: Màn hình trang xem thống kê top 7 sản phẩm ........................................ 85

I


Hình 12.16: Màn hình trang xem thống kê loại và hãng bán nhiều nhất
trong tháng ................................................................................................................. 85

II


CHƯƠNG I.

TỔNG QUAN VỀ LARAVEL 5.1

1. Giới thiệu về Laravel 5.1
1.1. Lịch sử.
Laravel được ra đời vào tháng 04/2011 do Taylor Otwell phát triển
nên. Tuy là một framework PHP còn khá mới mẻ nhưng nó lại có đầy
đủ các tính năng trong các phiên bản PHP 5.3 trở lên. Ngoài ra kèm
theo Laravel là một tập các hướng dẫn cơ bản và nâng cao về nó
(Document). Cho đến nay Laravel đã ra đến Laravel 5 cho mọi người
sử dụng [4].
Lịch sử ra đời của Laravel:
-


04/2011 – Laravel ra đời.

-

09/06/2011 – Bản beta đầu tiên của Laravel và bản Laravel 1 trong
cùng tháng.

-

09/2011 – Laravel 2.

-

02/2012 – Laravel 3.

-

05/2013 – Laravel 4.

-

02/2015 – Laravel 5.

-

06/2015 – Laravel 5.1.

1.2. Giới thiệu
Từ tháng 03 năm 2015, Laravel được coi là một trong những

framework PHP phổ biến nhất, cùng với Symfony2, Nette,
Codelgniter, Yii.
Đến tháng 6 năm 2015, Laravel 5.1 đã được phát hành. Tương tự như
Laravel 4 và Laravel 5, Laravel 5.1 cũng có sự tích hợp của một phần
trong thư viện Symfony và áp dụng triệt để mô hình ORM (Object
Relational Mapping) với các khái niệm liên quan đến Eloquent Class.
Đồng thời nó cũng giải quyết những vấn đề mà các framework khác
đang mắc phải chẳn hạn như Master Layout, mô hình xử lý với
ORM,… Tuy nhiên điểm khác nhau cơ bản để giúp cho Laravel 5.1
trở nên nổi bật giữa các đàn anh đó là Laravel 5.1 là phiên bản đầu
tiên của gia đình Laravel nhận được sự hỗ trợ dài hạn (Long Time
1


Support), với có các kế hoạch sửa lỗi cho hai năm và các bản vá lỗi,
lỗi bảo mật cho ba năm. Laravel luôn đi theo “châm ngôn” là Release
early, release often, và cũng là xu hướng chung của giới phát triển mã
nguồn mở. Tuy nhiên với sự phát triển và phổ biến nhanh chưa từng
thấy của framework này, Taylor Otwell đã phải nghĩ đến việc cung
cấp cho các công ty, các tổ chức lớn một framework ổn định và bảo
mật tốt, đồng thời không thể bảo trì và nâng cấp thường xuyên.
Laravel 5.1 được ra đời bao gồm các gói hỗ trợ với thời gian là 3 năm
về mọi vấn đề bảo mật. Chính sách hỗ trợ dài hạn này là điểm sáng
lớn nhất của Laravel 5.1.

Hình 1.1: Sơ đồ thống kê các Framework PHP phổ biến.

2. Các thành phần chính trong Laravel 5.1
2.1. Routing.
Mục đích chính của route trong Laravel đó là dùng để định nghĩa các

mối quan hệ giữa các đường dẫn (URL), các liên kết (Link). Khi một
liên kết được tao ra bằng cách sử dụng tên của routes, thì một định
danh liên kết thống nhất sẽ được tạo ra bởi laravel.

2


Nói một cách dễ hiểu thì route trong laravel chính là việc viết lại
đường dẫn của ứng dụng, tương đương với htaccess trong các website
truyền thống, laravel có thể hiểu được cách viết này và sử dụng nó để
gọi các đối tượng, phương thức cần thiết.
Trong Laravel 5.1, file routes.php được đặt tại: app/Http/routes.php
Các định tuyến trong Laravel có cú pháp đơn giản như sau:

Ví dụ cơ bản về route:

Khi người dùng nhập vào thanh URL của trình duyệt web
‘localhost/laravel/’ (trong đó laravel là thư mục của dự án) thì route
sẽ gọi đúng tới hàm callback và hiển thị trang welcome trên màn hình.
Ngoài ra còn có các hàm get(), post(), put(), delete() chính là các
HTTP Methods dùng cho route.

3


Trong đó:
-

GET route – Dành cho các thao tác truy cập thông thường, tương
đương với request cơ bản trog PHP.


-

POST route – Thao tác lấy từ form như thêm dữ liệu.

-

PUT route – Dành cho thao tác lấy từ form nhưng chuyên về cập
nhật dữ liệu.

-

DELETE route – Dành cho các thao tác thực thi hành động xóa dữ
liệu.

Và một phần nhỏ nhưng không kém quan trọng về route mà em đã sử
dụng trong dự án đó là đặt tên cho route và tạo URL.
Với cú pháp đơn giản, route đã có thể được đặt tên và sử dụng một
cách dễ dàng.
Ví dụ về đặt tên cho route sử dụng từ khóa ‘as’

4


Trong trường hợp này, khi muốn quay về trang chủ route trở về trang
chủ với tên là ‘homepage’ sẽ được gọi.

Việc đặt tên giúp tạo URL như mong muốn một cách dễ dàng. Khi
lượng route trên website tăng lên, các URI/URL dài và khó nhớ, việc
đặt tên sẽ hiệu quả hơn nhiều so với việc cộng chuỗi để tạo ra các

URI/URL mong muốn.
2.2. View.
Mục đích của Views đó là chứa các mã html dùng để hiển thị nội
dung được chỉ định bởi các Controllers.
Trong Laravel 5.1, các views được đặt tại: resources/views
Để sử dụng được View câu lệnh với cú pháp sau sẽ được gọi:

Ví dụ về View:

Sau đó vào thư mục resources/views tạo một view có tên là
welcome.php với nội dung là ‘Hello world – Welcome to Laravel’
Và khi chạy lại đường liên kết ‘localhost/laravel/welcome’ thì dòng
chữ ‘Hello world – Welcome to Laravel’ sẽ xuất hiện trên màn hình.
Công việc tiếp theo sẽ là truyền đối số cho view.
Có 3 cách cơ bản để thực thi việc truyền đối số vào view.

5


Cách 1 – Sử dụng đối số.

Cách 2 – Truyền qua phương thức with( )

Cách 3 – Sử dụng hàm compact( ) trong PHP

2.3. Controller.
Thay vì định nghĩa tất cả các yêu cầu về logic trong một file
routes.php duy nhất, thì Controller dùng để tố chức nhóm tất cả các
logic này trong class Controller để tiện xử lý.
Một Controller được định nghĩa là một lớp, chứa một hoặc nhiều

phương thức, hày còn được biết đến đó là hành động (action). Trông
một dự án, route và controller sẽ được ghép đôi để thực thi một
phương thức nhất định.
Trong Laravel 5.1, thư mục chứa các controllers nằm tại:
app/Http/Controllers
Ví dụ cơ bản về Controller:

6


Trong ví dụ này, khi người dùng truy cập vào ‘localhost/laravel/’ thì
Controller có tên là WelcomeController được gọi với phương thức là
index (dấu @ dùng để ngăn cách giữa tên Controller và phương thức
bên trong nó).
Ngoài ra việc đặt tên cho route vẫn có thể được kết hợp để chỉ định
đến một controller nhất định thông qua cú pháp sau:

Trong đó, một mảng sẽ được sử dụng, truyền vào tên của route thông
qua từ khóa ‘as’ và chỉ định đến controller nhất định thông qua từ
khóa ‘uses’.
Ví dụ kết hợp giữa đặt tên cho Route và sử dụng Controller:

Khi người dùng gọi một route có tên là welcome, thì Controller có tên
là WelcomeController sẽ được gọi với phương thức là index. Cách
thực hiện của Controller trong trường hợp này sẽ tương tự như cách
cơ bản. Tuy nhiên, khi kết hợp với đặt tên cho route, lập trình viên sẽ
dễ phân biệt route nào sử dụng controller nào và sẽ gây tốn ít thời gian
tìm kiếm hơn nếu dự án có nhiều route.
2.4. Middleware
Một điểm nỗi bật nữa trong Laravel 5.x đó là nếu như Laravel 4 có bộ

lọc Filter thì trong Laravel 5.x bộ lọc filter đã được thay thế bằng
Middleware. Tuy nhiên nếu một số lập trình viên đã quen dùng với
filter thì họ vẫn có thể sử dụng nó trong Laravel 5.x. Để có thể giải
thích một cách cụ thể và dễ hiểu về Middleware trong Laravel 5, ta có
thể thông qua hình sau:
7


Hình 1.2 : Mô tả hoạt động của Middleware – Nguồn StackPHP

Nếu trong một ứng dụng web, bao gồm các routes, controllers, các
logic nghiệp vụ, là khu vực màu xanh lá cây ( App ). Thì khi đó
request của người dùng sẽ phải đi qua nhiều lớp của middleware mới
có thể đến được ứng dụng, và từ đó sẽ phải đi qua một lược các lớp
middleware khác để phản hồi (response) lại. Bất kỳ lớp middleware
nào cũng có thể hoạt động trước khi request đi vào ứng dụng, hoặc
sau khi request đã qua ứng dụng của ta, hoặc có thể cả hai trường hợp
trên đều có thể hoạt động [8].
Vậy tóm lại, middleware là một tập các lớp bao bọc xung quanh ứng
dụng, giúp cho việc kiểm soát các requests và responses được diễn ra
mà không cần nằm trong phần logic của chương trình.
Middleware hoạt động dựa vào các bước sau. Trước tiên, request sẽ
phải qua bộ lọc này để kiểm tra, xử lý gì đó trước khi được gửi tơi
phần code đã khai báo trong route, hay trong controller. Trong trường
hợp này, dễ hiểu nhất đó là việc kiểm tra người dùng đăng nhập rồi
mới có thể truy xuất đến các trang nhất định.
Để chia sẽ middleware giữa một nhóm route, từ khóa ‘middleware’
sẽ được sử dụng với cú pháp sau:

8



Trong trường hợp này, việc gom nhóm các route lại với nhau bằng cú
pháp Route::group sẽ được thực thi và sử dụng một middleware có
tên là ‘auth’ trong lớp Kernel.php tại đường dẫn
app/Http/Kernel.php. Middleware này dùng để kiểm tra xem người
dùng đã đăng nhập hay chưa. Nếu đăng nhập rồi thì mới được quyền
truy cập các route nằm trong middleware đó.
Ví dụ sử dụng middleware để kiểm soát việc viết comment và thanh
toán giỏ hàng (checkout):

3. Thao tác với cơ sở dữ liệu
Việc kết nối và truy vấn tới cơ sở dữ liệu đối với Laravel là vô cùng đơn
giản. Laravel đã hỗ trợ đến mức tối đa cho việc này và giúp cho các lập trình
viên không còn cảm thấy khó khăn trong việc chạy câu lệnh hay truy xuất dữ
liệu trong database nữa.
3.1. Giới thiệu
Ví trí file cấu hình nằm tại vị trí config/database.php.

9


Trong file này, lập trình viên có thể lựa chọn cơ sở dữ liệu mà ứng dụng sẽ
làm việc trên đó. Hiện tại Laravel hỗ trợ những hệ thống cơ sở dữ liệu phổ
biến sau: MySQL, Postgres, SQLite, và SQL Server.
Sau đây là các phần cấu hình cho từng loại hệ quản trị cơ sở dữ liệu:
-

MySQL


-

SQLite

10


-

Postgres

-

SQL Server

3.2. Cấu hình
Sau khi mở file config/database.php, tìm đến dòng sau và điền các
thông tin cần thiết để kết nối dữ liệu.

11


Một vài mục cần lưu ý đối với đoạn cấu hình trên:
o Host – cấu hình của host.
o Database – Tên database của dự án.
o Username – Tên username đăng nhập vào cơ sở dữ liệu.
o Password – Password của cơ sở dữ liệu.
3.3. Query builder
Query builder cung cấp cho các lập trình viên rất nhiều tiện ích và
giúp cho việc theo tác với cơ sở dữ liệu một cách thuận lợi hơn, với

những câu lệnh truy vấn đơn giản, thân thiện để tạo và thực thi các
câu truy vấn từ cơ sở dữ liệu. Query builder được dùng để thực thi hầu
hết những thao tác về cơ sở dữ liệu trong ứng dụng. Hơn nữa, Query
builder còn sử dụng PDO (PHP Data Object) nhằm bảo vệ ứng dụng
và tránh các lỗi về SQL Injection. Query builder xây dựng lớp DB để
thực hiện các câu truy vấn một cách dễ dàng hơn.
-

Select
 Lấy ra tất cả các hàng từ một bảng

 Lấy ra một hàng từ một bảng

12


 Lấy ra một cột từ một hàng

 Lấy ra một danh sách các giá trị của cột

Câu lệnh trên trả về một mảng các giá trị của cột “title” từ bảng
“roles”
Chú ý : Các cột sẽ được trả về trong mảng có thể được chỉ định như
sau:

 Chỉ định một mệnh đề Select

 Sử dụng Where

Hoặc


 Sử dụng Where Between

-

Joins
Câu lệnh Joins cũng có thể được thực thi thông qua Query builder bằng
cách sử dụng các cú pháp sau:
 Câu lệnh Join cơ bản:

13


 Left Join

-

Các phép toán thống kê
Các phép toán thống kê hỗ trợ cho quản trị xem và kiểm soát kho hàng
thông qua các phép toán như:
 Count

 Max

 Min

 Average

 Sum


-

Insert

14


Insert dữ liệu vào bảng có trường ID tự tăng, sử dụng insertGetId
Insert nhiều Records vào bảng

-

Update
Updating Records vào một bảng

Tăng dần hoặc giảm dần các giá trị trong cột

Ngoài ra các cột được thêm vào cũng có thể được chỉ ra để update

-

Delete
Xóa các Record trong một bảng

Xóa tất cả các Record trong bảng

15


4. Eloquent ORM

Eloquent trong Laravel 5 là một ORM(Object Relational Mapping), cung cấp
các ActiveRecord đơn giản nhưng vô cùng chuyên nghiệp giúp việc thao tác
với cơ sở dữ liệu được thuận tiện hơn. Mỗi bảng trong cơ sở dữ liệu đều
tương đương với một Model. Model này sẽ tương tác trên bảng được chỉ
định đó. Các model sẽ cho phép việc thực thi các câu lệnh truy vấn cho dữ
liệu vào trong các bảng tương ứng được diễn cũng như thêm các dòng mới
vào trong bảng.
Trước khi sử dụng các câu lệnh trong Eloquent, việc kiểm tra dự án đã kết
nối với database hay chưa thông qua file database.php như đã nêu ở phần
Query Builder trên là hết sức cần thiết.
Trước tiên một file model có tên User.php sẽ được tạo với nội dung sau:
class User extends Eloquent {
protected $table = 'users';
}
-

Lấy dữ liệu
o Lấy tất cả dữ liệu trong bảng users:
$users = User::all();
foreach ($user as $user)
{
echo $user->name.'
';
}
o Lấy 1 dòng dữ liệu thông qua khóa chính:
$user = User::find(1);
echo $user->name;
Nếu không lấy được dữ liệu nào trả về từ khóa chính này thì kết quả
sẽ là NULL
o Đề đăng ký xử lý lỗi thì ModelNotFoundException phải được kích

hoạt:
use Illuminate\Database\Eloquent\ModelNotFoundException;
16


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×