Stack Overflow en español Asked by Erain Moya on November 4, 2021
Tengo el siguiente diagrama:
Estoy haciendo la respectiva consulta para traer la información contenida en las tablas. Hasta el momento tengo lo siguiente:
$data = Restaurant::leftJoin('restaurant_user', 'restaurants.id', 'restaurant_user.restaurant_id')
->leftJoin('users', 'restaurant_user.user_id', 'users.id')
->leftJoin('user_code_activation', 'users.id', 'user_code_activation.user_id')
->leftJoin('codes', 'user_code_activation.code_id', 'codes.id')->get();
Dicho query me arroja la información correctamente, pero lo que no logro es conectar las seis tablas.
Ahora bien, alguna sugerencia por favor, para dicha consulta u otra alternativa idónea para realizarla.
Si lo que deseas es usar esa base de datos en un proyecto de Laravel, debes:
User
Resturant
Code
User
:User
m--------m Restaurant
--> restaurants()
User
m--------m Code
(user_activate_code) --> activationCodes()
User
m--------m Code
(user_redeem_code) --> redeemCodes()
Resaturant
:Restaurant
m--------m User
--> users()
Code
:Code
m--------m User
(user_activate_code) --> activatedCodeUsers()
Code
m--------m User
(user_redeem_code) --> redeemCodeUsers()
Ya en este punto puedes usar el ORM de Laravel para hacer las consultas de manera simple, como:
$restaurant = AppRestaurant::find(1); // traer un restaurante.
$restaurant->users(); // jalar los usuarios del restaurante.
Answered by Kenny Horna on November 4, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP