Hướng dẫn laravel 6 from scratch - laravel 6 từ đầu
Đây là chuỗi bài viết theo phong thái dễ hiểu, đơn giản, cơ bản, phù hợp với những người bắt đầu với Laravel từ con số 0. Show Trong bài viết này chúng ta sẽ quan tâm đến một số cách sử dụng eloquent trong laravel nhé. Xem lại khái niệm về eloquent tại đây. Basic EloquentPhần này sẽ bao gồm các nội dung sau:
Các quan hệ - Basic Eloquent RelationshipsTrong cơ sở dữ liệu quan hệ, chúng ta đã rất quen thuộc với các mối quan hệ như một-một, một-nhiều, nhiều-nhiều. Cũng như các ngôn ngữ khác, Eloquent sẽ có các method để mô phỏng các quan hệ này với mục đích hạn chế chúng ta phải viết những câu SQL query. Ví dụ trong thực tế như sau:
Mô phỏng trong cơ sở dữ liệu quan hệ sẽ như sau:
Mô phỏng trong code của laravel với các method tương ứng.
Chúng ta thử cùng suy nghĩ thực tế như sau:
Bài báo này là của ai?
Bài báo có mã hiệu đính (id) là 1 là của ai?Như vậy đã trả lời được câu hỏi "Giảng viên có những bài báo nào?" ⇒ Đi từ bài báo để hỏi-truy vấn dữ liệu về giảng viên. Ta sẽ thực thi câu lệnh như sau tại 5:Câu lệnh 6 sẽ gọi đến method được đặc tả ở 7, thì hàm 8 sẽ tiếp tục được triển khai. Method này sẽ tự thông dịch ra những câu truy vấn SQL như 9 và trả về kết quả truy vấn. Như vậy đã trả lời được câu hỏi "Giảng viên có những bài báo nào?"Ta thấy ở đây mọi thứ đều có liên kết và được truy vấn thông qua liên kết đó. Mọi thứ từ thực tế đến môi trường code đều trở nên logic, dễ hiểu theo hướng suy nghĩ của con người. Phần tiếp theo chúng ta sẽ thực hành những điều ở trên.Sinh dữ liệu để test và triển khai quan hệ một nhiều.Các quan hệ - Basic Eloquent Relationshipsusers-articles ta sẽ thêm trường user_id vào bảng articles, và thiết lập khóa ngoài cho nó link đến bản users. Chứng ta có thể sửa file migrate như sau.
Trong cơ sở dữ liệu quan hệ, chúng ta đã rất quen thuộc với các mối quan hệ như một-một, một-nhiều, nhiều-nhiều. Cũng như các ngôn ngữ khác, Eloquent sẽ có các method để mô phỏng các quan hệ này với mục đích hạn chế chúng ta phải viết những câu SQL query. Ví dụ trong thực tế như sau:Một giảng viên đại học xuất bản các bài báo khoa học. Tức, một giảng viên sẽ có một hoặc nhiều bài báo. Mô phỏng trong cơ sở dữ liệu quan hệ sẽ như sau:
Mối quan hệ giữa hai thực thể này là một-nhiều (một giảng viên có nhiều bài báo). Khi triển khai thực tế, sẽ có 2 bảng là users và articles. Để thiết lập mối quan hệ một nhiều thì ở bảng articles sẽ có thêm trường user_id (khóa ngoại liên kết tới bảng users).
Mô phỏng trong code của laravel với các method tương ứng.
Chúng ta thử cùng suy nghĩ thực tế như sau:
Với trường hợp thực tế như trên, có thể khi muốn có thông tin liên quan, ta sẽ hỏi:
Giảng viên có những bài báo nào? 0Giảng viên có tất cả bao nhiêu bài báo? 1Giảng viên có bài báo nào tên là "Laravel" không? 2... ⇒ Đi từ giảng viên để hỏi-truy vấn dữ liệu về các bài báo. 3Sau khi đã thiết lập các quan hệ 8 và 3 như phần trước, thì giờ chúng ta có thể thực hiện các truy xuất như sau trong 1 4Kiến thức đang dần nâng cao lên. Nếu có gì không hiểu, thì hãy comment nhé.
|