Índice
Laravel nos ajuda a trabalhar com o banco de dados, simplificando a linguagem SQL, não temos mais que fazer perguntas se não quisermos, usando seu ORM EloquentCom isso, podemos até trabalhar em sistemas de relacionamento muito mais complexos entre tabelas sem ter que fazer uma única consulta direta ao banco de dados.Para isso devemos estabelecer os identificadores que estão associados e também incorporar no modelo um tipo de atributo que indique essa relação.
O primeiro passo que devemos dar para criar o relacionamento de muitos para muitos é gerar a tabela intermediária, deve conter os campos que a relacionam com as tabelas primárias, para isso devemos seguir os seguintes passos:
1- Vamos gerar a migração usando artesão com o seguinte comando:
php artisan migrate: make create_show_user
2- Neste caso estamos gerando uma tabela que irá combinar uma tabela chamada mostrar e a mesa Do utilizador de nosso aplicativo.
3- Então no método up () Iremos gerar os campos da tabela, sendo que cada vez que executarmos a migração a tabela será criada:
A próxima etapa é construir nosso ModelosPara isso devemos criar um arquivo com o nome da tabela, então dentro colocaremos o relacionamento com a tabela no construtor, vamos ver o modelo de cada uma das tabelas que vamos associar.
1- No arquivo Show.php na rota app / modelos vamos colocar o seguinte:
2- Vemos que temos um método chamado belongsToMany (), e passamos o nome do modelo ao qual ele vai ser associado, isso faz Eloquente Ao criar o objeto modelo, saiba que ele tem um relacionamento com uma tabela intermediária junto com essa tabela.
3- Agora vamos criar um arquivo para a tabela Show, nele repetiremos a mesma coisa mas associando ao usuário:
Até este ponto, temos a funcionalidade de banco de dados necessária para poder trabalhar em nossa tabela intermediária.
Vamos criar uma rota onde vamos inserir um usuário e a isso vamos atribuir os shows, para isso devemos criar o objeto do Modelo de usuário e inserir um registro, então vamos chamar o método mostra () com o qual podemos atribuir o novo registro, vejamos:
Nesta rota, também vemos que usamos um método chamado attach (), este é o que nos permite fazer a associação correspondente, então obtemos os dados e fazemos um var_dump () para ver os dados completos.
Com isso criamos a tabela intermediária e fizemos uma relação muitos-para-muitos de uma forma básica, porém isso não é nem 1% do que podemos alcançar, é claro que pesquisa e prática são a chave.
Com isso terminamos este tutorial, já construímos nosso relacionamento muitos-para-muitos em Eloquente sem a necessidade de fazer uma única consulta SQL diretamente em nosso banco de dados.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo