QUERY BUILDER TRONG LARAVEL FULL CRUD (OK)

https://viblo.asia/p/query-builder-trong-laravel-RnB5pXm75PG

C:\xampp\htdocs\blog\vendor\laravel\framework\src\Illuminate\Database\Query\Builder.php

QUERY BUILDER TRONG LARAVEL

Laravel

1. Cấu hình Database.

  • -Trước tiên để sử dụng được Query builder các bạn cần phải cấu hình database kết nối đến cơ sở dữ liệu.

  • -Để cấu hình Database các bạn cần mở file .env lên và cấu hình như sau.

APP_ENV=local
APP_KEY=base64:w6dZccXCvdehAax2NYUt6f/igtsyw7QTQCx2eGEQBgI=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=

Chú thích:

  • DB_HOST : Là server chứa mysql của bạn.

  • DB_PORT: Là cổng post của server Mysql của bạn (thường để mặc định là 3306).

  • DB_DATABASE: Là tên database của bạn.

  • DB_USERNAME: Là username để truy cập vào database của bạn.

  • DB_PASSWORD: Là password để truy cập vào database của bạn.

2. Sử dụng Query Builder trong Laravel.

a, Lấy tất cả dữ liệu trong bảng.

  • cú pháp.

-ví dụ: lấy tất cả dữ liệu từ bảng tbl_product.

b, select cột trong bảng.

  • cú pháp.

c, truy vấn có điều kiện.

  • điều kiện bằng.

  • điều kiện lớn hơn

  • điều kiện nhỏ hơn

  • điều kiện khác.

  • điều kiện lồng.

  • truy vấn tìm kiếm chuỗi.

  • các loại where khác. 1.Phương whereBetween : kiểm tra giá trị của một cột nằm giữa hai giá trị.

  1. Phương thức whereNotBetween : Kiểm tra giá trị của một cột không nằm trong khoảng 2 giá trị.

  1. phương thức whereIn/whereNotIn : kiểm tra giá trị của một cột có nằm trong một mảng các giá trị hay không.

  1. whereNull/whereNotNull : Kiểm tra giá trị của một cột có thể mang giá trị null hay không.

  1. phương thức whereDate / whereMonth / whereDay / whereYear. +, Phương thức whereDate kiểm tra giá trị cột giống như một date.

+, Phương thức whereMonth sử dụng để kiểm tra giá trị cột giống ngày date đặc biệt của tháng trong năm.

+, Phương thức whereDay sử dụng để kiểm tra giá trị cột giống ngày của tháng được truyền vào.

+, Phương thức whereYear sử dụng để kiểm tra giá trị cột giống năm được truyền vào.

+, Phương thức whereColumn kiểm tra giá trị hai cột bằng nhau.

  • Bạn cũng có thể truyền một toán tử so sánh vào phương thức.

  • Phương thức whereColumn có thể được truyền vào một mảng các điều kiện. Những điều kiện này sẽ được nối với nhau sử dụng toán tử and operator.

  1. Mệnh đề where exists.

  • Phương thức whereExists cho phép bạn viết các mệnh đề where exists. Phương thức whereExists chấp nhận tham số là một Closure cái mà sẽ nhận một query builder instance cho phép bạn định nghĩa truy vấn mà sẽ được đặt trong mệnh đề.

-Truy vấn trên sẽ sinh ra đoạn SQL sau.

c, Kết nối các bảng (join).

  • inner join.

  • left join.

d. OrderBy, GroupBy,limit

  • orderBy. Phương thức orderBy cho phép bạn sắp xếp kết quả của truy vấn bởi một cột cho trước. Tham số đầu tiên của phương thức orderBy nên là cột bạn muốn sắp xếp, trong khi tham số thứ 2 là chiểu của sắp xếp và có thể là asc hoặc desc.

  • groupBy / having / havingRaw. Phương thức groupBy và having có thể được sử dụng để nhóm kết quả truy vấn. Phương thức having có cách sử dụng tương tự phương thức where.

Phương thức havingRaw có thể được sử dụng thiết lập các chuỗi vào mệnh đề having. Ví dụ chúng ta có thể tìm toàn bộ các department mà có sale lớn hơn $2,500.

insert,delete,update.

  • Insert. Query builder cũng cung cấp phương thức insert cho việc chèn các bản ghi vào trong bảng. Phương thức insert chấp nhận một mảng tên các cột và giá trị để thêm vào.

Bạn có thể chèn các bản ghi riêng biệt vào bảng với một lần gọi insert bằng cách truyền vào một mảng các mảng. Mỗi mảng con đại diện cho một dòng sẽ được chèn vào bảng.

  • Update.

  • Tất nhiên, ngoài việc chèn thêm bản ghi vào database, query builder cũng có thể cập nhật bản ghi có sẵn bằng cách sử dụng phương thức update. Phương thức update giống như insert, chấp nhận một mảng các cặp cột và giá trị có trong cột để cập nhật. Bạn có thể ràng buộc truy vấn update sử dụng mệnh đề where.

  • delete.

  • Tất nhiên, query builder cũng có thể được sử dụng để xóa các bản ghi từ bảng thông qua phương thức delete. Bạn có thể ràng buộc cú pháp delete bằng cách thêm mệnh đề where trước khi gọi phương thức delete.

3. Xây dựng Ứng dụng với Query Builder.

Xây dựng một số trang phục vụ các việc sau nhập thông tin sản phẩm, quản lý danh sách sản phẩm: xóa sản phẩm, sửa sản phẩm… Chúng ta cùng bắt đầu thực hiện nào.

  • Bước 1: Tạo bảng products trong database laravel-test. .

  • Bước 2: Tạo một controller tên là ProductController.

  • Bước 3: Thêm resource route vào routes/web.php.

  • Bước 4. Tạo view create.blade.php trong resources/views/fontend/product.

  • Bước 5 : Thêm nội dung phương thức create trong ProductController.

  • Bước 6 : Tiếp đến chúng ta xử lý insert sản phẩm vào CSDL, nó sẽ nằm trong phương thức store của ProductController.

  • Bước 7 : Để nhập sản phẩm ta vào đường dẫn http://laravel.dev/product/create. .

  • Bước 8 : anh sách sản phẩm sẽ được xử lý trong phương thức index của ProductController.

  • Bước 9 : Tiếp đến chúng ta tạo một view để hiển thị danh sách sản phẩm tên là list.blade.php nằm trong thư mục resources/views/fontend/product.

  • Kết quả khi chạy http://laravel.dev/product ta có danh sách các sản phẩm. .

  • Bước 10 : Chúng ta sử dụng phương thức edit() trong ProductController để chỉnh sửa sản phẩm.

  • Bước 11 : Tạo một view để chỉnh sửa sản phẩm resources/views/fontend/product/edit.blade.php.

  • Bước 12 : Phương thức update() của ProductController đảm nhận phần cập nhật nội dung sản phẩm.

  • giờ chúng ta click vào Edit sản phẩm bất kỳ trong danh sách sản phẩm nó sẽ xuất hiện cửa sổ chỉnh sửa sản phẩm. .

4. Tổng kết.

Qua bài này mình đã giới thiệu cho các bạn các phương thức quan trọng trong Query Builder.Các bạn thấy nó khá ngắn gọn và dễ sử dụng phải không nào,từ những câu lệnh truy vấn đến phức tạp.Ngoài ra Query Builder còn nhiều phương thức khác,bài viết được tham khảo tại trang chủ của Laravel các bạn có thể vào đây để tìm hiểu thêm các phương thức khác nhé.Sang bài tiếp theo mình sẽ giới thiệu cho các bạn về Eloquent ORM trong Laravel.

Đã thực hiện lại (OK)

C:\xampp\htdocs\blog\routes\web.php

C:\xampp\htdocs\blog\app\Http\Controllers\ProductController.php

C:\xampp\htdocs\blog\resources\views\fontend\product\edit.blade.php

C:\xampp\htdocs\blog\resources\views\fontend\product\list.blade.php

C:\xampp\htdocs\blog\config\app.php

C:\xampp\htdocs\blog\resources\views\fontend\product\create.blade.php

C:\xampp\htdocs\blog\resources\views\layouts\default.blade.php

7KB
Open

Last updated

Was this helpful?