Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Migração de chave estrangeira vs relacionamentos eloquentes em Laravel


Ambos andam de mãos dadas. Um está completo sem o outro. Se você quer que suas relações funcionem corretamente, você precisa definir essas duas coisas.

Se você acabou de definir a chave estrangeira em um arquivo de migração, a relação funcionaria apenas no caso de você escrever uma consulta bruta. Não funcionará em seus modelos, pois você não escreveu nada sobre relações em seus modelos.

Então, assim que você escrever hasMany em um de seus modelos e a função correspondente no outro modelo, somente então seus modelos se conhecerão e você poderá consultar com sucesso as coisas por meio de seu modelo, bem como em seu banco de dados.

Observe também que se você definiu corretamente as relações por meio de hasMany e belongsTo em seus modelos, mas não forneceu a chave estrangeira na tabela do modelo que belongsTo outra mesa, suas relações não funcionarão.

Em suma, ambos são igualmente obrigatórios.