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
- Cấu hình để kết nối đến PostgreSQL từ Laravel
- Tạo database trong Postgres
- Chạy migration để tạo các table cơ bản cho laravel
- Tạo migration để có table nha_sx
- Tạo Seeder để chèn dữ liệu
- Tạo model để lấy dữ liệu từ Postgre
- Tạo controller
- Tạo view để hiện dữ liệu
- Định nghĩa route
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