Comparte:
BD dinámica
Quiero realizar la conexión a BD según el usuario que ingrese y se me ocurren dos soluciones:
1. Crear un middleware que se encargue de seleccionar la BD, hasta aquí bien, la única pega es que model binding no funciona, puedo o bien dejar de usuario o sobreescribir resolveRouteBinding y duplicar la lógica del middleware, no veo lo de duplicar y supongo que sería mejor dejar de usar model binding.
2. Crear un nuevo modelo, que sobreescribe getConnectionName
Aquí dejo un repositorio de cómo funcionaría uno y otro caso resumiendo el problema:
Por simplificar, toda la lógica está web.php.
Para entender cómo funciona, ejecutar primero una conexión y luego las opciones A, B y C. Luego seleccionar la segunda conexión y evaluar de nuevo A, B y C.
¿Alguna solución mejor?
Ricardo (0 xp)
La opción 2, por matizar, es crear un modelo, DynamicModel, que sobreescribe getConnectionName, y en el ejemplo que envío PostB extiende de DynamicModel.
1