Llaves foráneas
Comprar curso

64. Llaves foráneas

En este capítulo, aprenderás cómo utilizar las llaves foráneas en la base de datos de tu aplicación Laravel 10. Verás cómo definir relaciones entre tablas utilizando las migraciones y cómo utilizar el ORM Eloquent para acceder a los datos relacionados.


2 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    En este capítulo, te mostraremos cómo puedes utilizar llaves foráneas en la base de datos de tu aplicación Laravel 10. Las llaves foráneas son una herramienta poderosa para definir relaciones entre tablas, lo que permite una mejor organización de los datos en tu aplicación. Aprenderás a definir relaciones entre tablas utilizando las migraciones de Laravel y cómo acceder a los datos relacionados utilizando el ORM Eloquent.

    La definición de relaciones entre tablas es una parte importante del diseño de la base de datos de tu aplicación Laravel. Con las migraciones de Laravel, puedes definir las llaves foráneas que conectan las tablas de tu base de datos. Esto te permite asegurarte de que los datos se relacionen de manera adecuada y evita problemas de integridad referencial.

    Una vez que has definido las relaciones entre las tablas, puedes acceder a los datos relacionados utilizando el ORM Eloquent. Eloquent es una herramienta poderosa que facilita el acceso a los datos en tu aplicación Laravel. Puedes utilizar las relaciones definidas en las migraciones para acceder a los datos relacionados de manera sencilla.

    En resumen, el uso de llaves foráneas en la base de datos de tu aplicación Laravel 10 es una herramienta fundamental para organizar los datos y evitar problemas de integridad referencial. Con las migraciones de Laravel, puedes definir fácilmente las relaciones entre tablas y el ORM Eloquent te permite acceder a los datos relacionados de manera sencilla. Si quieres asegurarte de que la base de datos de tu aplicación esté correctamente diseñada y optimizada, es fundamental que comprendas cómo utilizar las llaves foráneas en Laravel 10.

  • Inescop

    Inescop hace 1 mes

    Buenas. Con Laravel 11, si utilizo'foreign':

    $table->foreign('user_id')->references('id')->on('users'); 
    $table->foreign('categoria_id') ->references('id')->on('categorias')

    No puedo hacer ‘php artisan migrate:fresh’
    Me dice: 
    SQLSTATE[42000]: Syntax error or access violation: 1072 Key column 'user_id' doesn't exist in table (Connection: mariadb, SQL: alter table `posts` add constraint `posts_user_id_foreign` foreign key (`user_id`) references `users` (`id`))

    Si lo cambio a ‘foreignId’ sí que me genera las tablas:

    $table->foreignId('user_id')->references('id')->on('users'); 
    $table->foreignId('categoria_id') ->references('id')->on('categorias')

    Me marca los índices y en la estructura me pone los iconos de las llaves plateadas:

     

    Pero, aunque no exista todavía la tabla ‘categorias’, NO me salta el error al crearlas sin la tabla.
    Por otro lado, si entro al ‘Diseñador’ aparecen las tablas y las nuevas columnas pero no salen las líneas uniendo las tablas.

    Pero en lugar de la llave, como aparece en ‘slug’ aparecen con una ‘#’

    • Inescop hace 1 mes

      Solucionado.

      El proyecto creaba por defecto las tablas de tipo MyISAM y no permite relaciones.

      Para cambiarlo, en el fichero: PROYECTO/config/database.php     

      Buscar tu tipo de conexión y sustituir:     'engine' => 'null',

      Por:       'engine' => 'InnoDB',

    • Victor Arana Flores hace 1 mes

      Hola, gracias por el aporte.