Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Migracyjny klucz obcy a elokwentne relacje w Laravel

Oba idą w parze. Jedno jest niekompletne bez drugiego. Jeśli chcesz, aby twoje relacje działały prawidłowo, musisz zdefiniować obie te rzeczy.

Jeśli właśnie zdefiniowałeś klucz obcy w pliku migracji, relacja zadziałałaby na wypadek, gdybyś napisał nieprzetworzone zapytanie. Nie będzie działać na twoich modelach, ponieważ nie napisałeś nic o relacjach w swoich modelach.

Tak więc, gdy tylko napiszesz hasMany w jednym z modeli i odpowiadającej im funkcji w drugim modelu, tylko wtedy modele wiedzą o sobie nawzajem, a następnie możesz pomyślnie wysyłać zapytania za pośrednictwem swojego modelu, a także bazy danych.

Zauważ też, że jeśli masz poprawnie zdefiniowane relacje za pomocą hasMany i belongsTo w swoich modelach, ale nie podałeś klucza obcego w tabeli modelu, który belongsTo inny stół, twoje relacje nie będą działać.

Krótko mówiąc, oba są równie obowiązkowe.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP:dlaczego nie mogę zapętlić dwa razy na wynikach mysqli_fetch_array()?

  2. Jak przechowywać wartości NULL w polach daty i godziny w MySQL?

  3. Błąd PDO:Nieprawidłowy numer parametru:parametr nie został zdefiniowany

  4. ANDROID&PHP - Jak wyświetlić JSONArray z MySql za pomocą PHP

  5. Jak podzielić wynikową kolumnę na wiele kolumn