sql >> Base de Datos >  >> RDS >> Mysql

Migración de clave externa frente a relaciones elocuentes en Laravel

Ambos van de la mano. Uno está in-completo sin el otro. Si desea que sus relaciones funcionen correctamente, debe definir ambas cosas.

Si acaba de definir la clave externa en un archivo de migración, la relación funcionaría en caso de que escriba una consulta sin procesar. No funcionará en sus modelos ya que no ha escrito nada sobre las relaciones en sus modelos.

Tan pronto como escribas hasMany en uno de sus modelos y la función correspondiente en el otro modelo, solo entonces sus modelos se conocen entre sí, y luego puede consultar cosas con éxito a través de su modelo, así como en su base de datos.

También tenga en cuenta que si tiene relaciones definidas correctamente a través de hasMany y belongsTo en sus modelos, pero no proporcionó una clave externa en la tabla del modelo que belongsTo otra mesa, tus relaciones no funcionarán.

En definitiva, ambos son igualmente obligatorios.