One to One (ok)
https://viblo.asia/p/eloquent-relationships-in-laravel-phan-1-PdbGnoEdeyA
One to One
Mối quan hệ one-to-one là mối quan hệ hết sức cơ bản. Ví dụ, một User
có thể được liên kết với 1 Phone
. Để xác định mối quan hệ này, chúng ta đặt một method phone
trên User model. Phương thức phone
nên trả về kết quả của 1 phương thức hasOne
trên cơ sở của lớp Eloquent model:
Đối số đầu tiên truyền cho phương thức hasOne
là tên của model được liên kết. Một khi các mối quan hệ được xác định, chúng ta có thể truy xuất các bản ghi sư dụng Eloquent's dynamic properties. Dynamic properties cho phép bạn truy cập vào các relationship functions như thể nó là thuộc tính được định nghĩa trên các model:
Eloquent giả định các foreign key dựa theo tên model.Trong trường hợp này, Phone
model sẽ tự động lấy foreign key là user_id
. Nếu bạn muốn thay đổi điều này, bạn có thể thêm vào đối số thứ 2 của hasOne
method:
Ngoài ra, Eloquent cho rằng foreign key cần phải có một giá trị phù hợp với cột id
của parent. Nói cách khác, Eloquent sẽ tìm kiếm những giá trị của cột id
của User
trong cột user_id
của các bản ghi Phone
. Nếu bạn muốn relationship sử dụng các cột khác với cột id
, bạn có thể truyền thêm 1 đối số thứ 3 trong phương thức hasOne
như sau:
Last updated