Mình nghĩ là sao lại cần phải viết tay MySQL tạo bảng như thế này trong khi migration Laravel support tận răng r.
Trong trường hợp của bạn, bảng A nối với bảng B, mà bảng B chứa id của A, nếu id A không tồn tại thì sẽ báo lỗi là đúng rồi.
Với lỗi này No query results for model App\UserPet, b chỉ cần dùng UserPet::find($id), nếu ko có thì trả về null chẳng hạn.
Sử dụng Foreign Key onDelete CASCADE chỉ khi bạn xóa 1 cột ở bảng A thì dữ liệu của bảng B chứa id vừa xóa của bảng A cũng sẽ bị xóa mất
@ngoctt Không cần cũng được, vì khi tạo Relationships như thế này là mình đã có thể lấy dữ liệu ra được rồi, nhưng nếu cài đặt Foreign Key nữa thì code của bạn sẽ chặt chẽ hơn thôi, ví dụ khi tạo Foreign Key thì muốn xóa 1 trường nào đấy thì bắt buộc bạn phải xóa khóa phụ đi trước rồi mới được xóa khóa chính, còn nếu ko mysql nó sẽ báo lỗi, lúc này dữ liệu của bạn lúc nào cũng được đảm bảo, còn nếu ko đặt Foreign Key mà chỉ dùng Relationships thì xóa cái nào cũng được , lúc đấy phần code trong laravel bạn phải handle nhiều trường hợp hơn, code của bạn có thể xảy ra lỗi khi xóa 1 trường ở bảng này., nhưng trường ở bảng khác có quan hệ đến nó thì lại ko bị xóa đi, nên nó là dư thừa
Oke anh. CHO em hỏi có TH mà khóa chính ở bảng chính bị xóa đi thì mk dùng relationship nó báo là "No query results for model App\UserPet". Cái này mk xử lý bằng cách là tạo Foreign Key onDelete CASCADE trong MySQL là đc đúng ko a ?
Anh cho em hỏi khi mình sử dụng các Relationships trong Laravel như thế này thì trong MYSQL mình có cần phải cài đặt Foreign Key tương ứng với relationship mình dùng không ạ ?
Anh cho em hỏi khi mình sử dụng các Relationships trong Laravel như thế này thì trong MYSQL mình có cần phải cài đặt Foreign Key tương ứng với relationship mình dùng không ạ ?
THẢO LUẬN
Mình đọc mà chưa hiểu lằm. Tức là bạn đang các services:
Không biết phải vậy ko nhỉ? Với tất cả các services đều đang dùng docker hay như nào vậy bạn?
Cảm ơn bạn góp ý. m sẽ cố gắng cải thiện
thanks bạn đã ủng hộ. m sẽ cố gắng viết nhiều bài hay hơn nữa.
Up Vote!!! Bài viết rất hay và bổ ích, cảm ơn bạn rất nhiều
Oke em cám ơn anh
Thường khi tạo Foreign Key phần onDelete anh hay để là gì để cho hợp lý hả anh ?
OKe em cám ơn anh =))
Mình nghĩ là sao lại cần phải viết tay MySQL tạo bảng như thế này trong khi migration Laravel support tận răng r. Trong trường hợp của bạn, bảng A nối với bảng B, mà bảng B chứa id của A, nếu id A không tồn tại thì sẽ báo lỗi là đúng rồi. Với lỗi này No query results for model App\UserPet, b chỉ cần dùng UserPet::find($id), nếu ko có thì trả về null chẳng hạn. Sử dụng Foreign Key onDelete CASCADE chỉ khi bạn xóa 1 cột ở bảng A thì dữ liệu của bảng B chứa id vừa xóa của bảng A cũng sẽ bị xóa mất
@ngoctt Không cần cũng được, vì khi tạo Relationships như thế này là mình đã có thể lấy dữ liệu ra được rồi, nhưng nếu cài đặt Foreign Key nữa thì code của bạn sẽ chặt chẽ hơn thôi, ví dụ khi tạo Foreign Key thì muốn xóa 1 trường nào đấy thì bắt buộc bạn phải xóa khóa phụ đi trước rồi mới được xóa khóa chính, còn nếu ko mysql nó sẽ báo lỗi, lúc này dữ liệu của bạn lúc nào cũng được đảm bảo, còn nếu ko đặt Foreign Key mà chỉ dùng Relationships thì xóa cái nào cũng được , lúc đấy phần code trong laravel bạn phải handle nhiều trường hợp hơn, code của bạn có thể xảy ra lỗi khi xóa 1 trường ở bảng này., nhưng trường ở bảng khác có quan hệ đến nó thì lại ko bị xóa đi, nên nó là dư thừa
Oke anh. CHO em hỏi có TH mà khóa chính ở bảng chính bị xóa đi thì mk dùng relationship nó báo là "No query results for model App\UserPet". Cái này mk xử lý bằng cách là tạo Foreign Key onDelete CASCADE trong MySQL là đc đúng ko a ?
không cần đâu em ơi
Anh cho em hỏi khi mình sử dụng các Relationships trong Laravel như thế này thì trong MYSQL mình có cần phải cài đặt Foreign Key tương ứng với relationship mình dùng không ạ ?
Anh cho em hỏi khi mình sử dụng các Relationships trong Laravel như thế này thì trong MYSQL mình có cần phải cài đặt Foreign Key tương ứng với relationship mình dùng không ạ ?
bài hay quá bác ơi
Dịch bài ko có tâm lắm. Dùng google dịch ko sữa chữ lại luôn, đọc như ko đọc
Thank bạn!!
Cho em hỏi cách anh tạo virtual IP như thế nào vậy anh???
Rất hay ,nhất là về border, cảm ơn a
Mình nhớ lệnh shutdown -h là tắt máy chứ không phải restart đâu. Bạn xem lại xem sao
@pvtamh2bg @ndhdldeptrai
Sorry hai bạn, phần
9.1 Trường hợp tạo dự án mớibị thiếu mất phần tạo fileHiện mình đã bổ sung và cập nhật lại toàn bộ bài viết cho dễ theo dõi hơn rồi nhé.