LOADING

Đang tải

Fix bug 3h sáng

2025/12/3 Issue PHP

Tranh thủ không ngủ được thì mới Fix xong cái NAS giờ thì qua sửa nốt cái vụ lỗi register ở website cái nào.

Pipeline CI/CD đã triển khai

Căn bản mình không code cái này chỉ chịu trách nhiệm Deploy thôi. Và cũng có thiết kế một pipeline CI/CD lên VPS và kèm tên miền nữa. Khà khà, mừng vì nó chạy tốt đấy chứ!! Chỉ cần commit lên là lên server luôn. Tất nhiên nếu ở môi trường chuyên nghiệp thì cái này chỉ là server development thôi. Hiện giờ cũng chỉ cần có thế

Pipeline hoạt động quá tuyệt vời!!!

Về lỗi

Ban đầu nó báo lỗi này

Cũng chả hiểu gì, qua tìm hiểu tí Gemini thì mới biết (Tại ChatGPT nó bị down, hơi khốn nạn)

Nó cứ bảo lỗi ràng buộc cái quỷ quái gì đấy.

Mình cũng chẳng hiểu lắm, nhưng mà mình suy luận. UNIQUE thì sẽ chỉ áp dụng với username thôi. Mà trong cái file nó báo lỗi RegisteredUserController.php thì cái hàm store nó chả có cái username nào? Và cả cái form đăng ký cũng chả có cái username nào.

OK thì có cơ sở để prompt tiếp rồi đấy

Thế là nó chỉ cho hai cách. Một cách dùng Logic Mutator (đây chắc chắn là nguyên nhân lỗi đây), cách còn lại là Trim trực tiếp trong Controller. Mình chả hiểu cái Logic Mutator lắm. Thế nên mình Trim theo cách còn lại, cho trực tiếp vào Controller.

Ở đây mình hiểu là cái Controller này sẽ trực tiếp xử lý Request JSON mà mình POST lên. Thế nên nhét thẳng vào cái hàm mà mình đã phân tích

Logic Mutator là gì?

Mutator (Bộ biến đổi) trong Laravel là một tính năng cực kỳ hữu ích giúp bạn can thiệp và thay đổi dữ liệu trước khi nó được lưu vào cơ sở dữ liệu.

Hãy tưởng tượng Mutator giống như một “bộ lọc đầu vào” hoặc một “người gác cổng”. Khi bạn gán giá trị cho một thuộc tính của Model, Mutator sẽ chặn giá trị đó lại, xử lý nó (cắt khoảng trắng, mã hóa, đổi định dạng…), rồi mới cho phép lưu vào Database.

Quy trình bình thường không có Mutator: Controller (Dữ liệu thô) ➔ Model ➔ Database (Lưu dữ liệu thô)

Quy trình có Mutator: Controller (Dữ liệu thô) ➔ Mutator (Xử lý/Biến đổi) ➔ Model ➔ Database (Lưu dữ liệu sạch)

OK thì về cơ bản nó là một bộ lọc dữ liệu. Cơ mà hình như cái Project này không có thì phải? Nhớ ngày xưa mình host lên bằng Cloudflare Tunnel và chạy bằng artisan run dev thì cũng đâu có vụ này. Nhưng chắc là ảo giác rồi. Mới test lại thì nó ú òa lỗi kinh hoàng luôn.

Thế thì do lần trước Deploy không có test lại đây mà. Mặc dù trong ký ức mình nhớ là có…

Có kiểm tra lại git luôn thì toàn bộ các file báo lỗi đều không có chỉnh sửa gì cả. Rốt cuộc là tại saooooooo nhỉiiii? Lạ thật sự!