Soy un desarrollador front-end al que se le ha pedido que haga algunos ajustes en Laravel, así que tengan paciencia conmigo.
Este es el código que estoy tratando de modificar:
$location = Location::where('id', $id)->with('plants')->get(); $plantId = PlantLocation::where('location_id', $id)->get('plant_id'); $plants = Plant::whereIn('id', $plantId)->orderBy('id', 'asc')->get();
La forma en que funciona en el formulario es que hay 3 menús desplegables: Participante, Sitio (ubicación), Plantas. La información de cada menú desplegable está vinculada al menú desplegable anterior mediante JavaScript para completar cada uno.
La base de datos tiene 4 tablas: participantes (usuarios), ubicaciones, plantas, ubicaciones de plantas. Hay relaciones entre ellos.
En el formulario, primero selecciona el participante, se consulta la base de datos y obtiene una lista del sitio vinculado al participante. Luego, elige un sitio y obtiene una lista de plantas vinculadas al sitio.
Hasta ahora todo funciona bien sin problemas. Esto es lo que necesito actualizar.
En la tabla Ubicación de plantas, diga que tengo 3 plantas únicas vinculadas a un sitio: rosa, tulipán, orquídea, todo funciona bien y veo [Rosa, tulipán, orquídea] en el menú desplegable Plantas.
Pero si tengo el >1 (mayor que 1) de la misma planta vinculado a un sitio (ejemplo Rose, Tulip, Rose), veo [Rose, Tulip]. Lo que quiero es [Rose, Tulip, Rose] como mi salida.
Por lo que entiendo, las declaraciones whereIn solo muestran 1 instancia y no duplicados. Probé todos los códigos y soluciones que pude encontrar en Internet para mostrar los duplicados sin suerte. Al principio pensé que JavaScript estaba jugando con él, pero emití la solicitud ajax y solo veo [Rose, Tulip].
¿Puede alguien señalarme en la dirección correcta, por favor? ¡Gracias!