Kết nối đến PostgreSQL từ Laravel

Kết nối đến PostgreSQL từ Laravel cũng đơn giản như khi kết nối đến Mysql không khác chi nhiều. Chỉ khác ở chỗ cấu hình ban đầu thôi.

Trước khi đọc bài này, mời bạn đọc trước bài Quản trị PostgreSQL với pgAdmin4 để biết cách quản trị PostgreSQL nhe. Xong rồi thì mới xem bài này.



Tạo project Laravel

Vào command line chạy lệnh sau để có project Laravel: composer create-project laravel/laravel thuctap

Cấu hình để kết nối đến PostgreSQL từ Laravel

Mở file .env và khai báo kết nối

DB_CONNECTION = pgsql
DB_HOST = localhost
DB_PORT = 5432
DB_DATABASE = banhang
DB_USERNAME = postgres
DB_PASSWORD = 123

Tạo database trong Postgres

Mở pgAdmin4, tạo database banhang như gợi ý trong hình

Chạy migration để tạo các table cơ bản cho laravel

Chuyển vào folder project vừa tạo ở trên và chạy lệnh sau để tạo các table cần thiết cho laravel hoạc động: php artisan migrate

Sau khi tạo xong, chuuyển qua bên pgAdmin4 sẽ thấy các table được tạo ra trong database banhang

Tạo migration để có table nha_sx

php artisan make:migration taobang --create=nha_sx

Mở file migration mới vừa tạo ở trên (trong folder database/migrations) và code trong hàm up() . Code xong lưu file lại.

Vào command line chạy migration vừa tạo ở trên với lệnh php artisan migrate .

Chạy xong , chuyển qua pgAdmin4 sẽ thấy table nha_sx mới được tạo.

Tạo Seeder để chèn dữ liệu

Mở file database/seeders/DatabaseSeeder.php và code trong hàm run để chèn vài dòng dữ liệu và Postgres

Xong thì vào command line, chạy lệnh php artisan db:seed để thực thi seerder.

Giờ thì bên Postgre đã có dữ liệu, Bạn xem trong table nha_sx sẽ thấy.

Tạo model để lấy dữ liệu từ Postgre

Vào command line Chạy lệnh php artisan make:model nha_sx

Mở file App\Models\nha_sx.php và code khai báo tên bảng, khóa chính, tên các field trong table trong các biến $table, $primaryKey, $fillable như hình

Tạo controller

Chạy lệnh sau để tạo controller nha_sx: php artisan make:controller nha_sxController

Mở file nha_sxController.php mới tạo và code để định nghĩa hàm danhsach, lấy dữ liệu và nạp view

Tạo view để hiện dữ liệu

Tạo mới file có tên danhsach.blade.php trong folder resources/views và code

Định nghĩa route

Mở file routes/web.php và code để tạo route

Xem kết quả , bạn sẽ thấy danh sách dữ liệu từ Postgres được lấy về và hiện ra web.

Nhìn lại các bước trên, Bạn thấy sao? Kết nối đến PostgreSQL từ Laravel không khó phải không nào. Cũng đon giản như kết nối đến Mysql thôi. Chỉ khác tí ở chỗ cấu hình.

Xem thêm ở các link này : https://www.enterprisedb.com/postgres-tutorials/how-use-postgresql-laravel, https://supabase.com/blog/laravel-postgres