Cita:
Iniciado por Triby Yo creo que sí vas a tener que esperar un buen rato, porque, aparte de que no proporcionas tu código, tampoco un ejemplo de lo que quieres obtener y será difícil adivinarlo.
Lo que trato de hacer es de construir el array como el que compartí, tengo todos los datos en la base de datos y deseo construir el array para que cuando esté terminado, pase el script que se encarga de dibujar el diagrama leyendo la totalidad del array para poder dibujar la estructura.
Compartiré el código pero no creo que os sirva de mucho:
Código PHP:
private function getMemberData($field, $value)
{
$select = ['id', 'Matrix', 'FirstName', 'EntityTypeID', 'Active', 'Sponsor'];
$this->join('members', 'entities', 'EntityID', 'id', 'LEFT');
$this->where($field, $value);
$result = $this->get(self::TB_USERS, $select, null);
# If we got more than 1 member, we're getting referrers
if(count($result) > 1) {
$array = [];
foreach($result as $member) {
$array[(string) $member['Matrix']] = $member;
}
return $array;
}
return $this->get(self::TB_USERS, $select, null)[0];
}
Eso me construye un array de dos niveles, donde el primero solo sale el miembro principal y en el segundo los miembros que existan en ese nivel, a partir de ahi ya no sé como bajar más para que el foreach guarde referidos en en los nuevos niveles (si existen referidos) y así hasta que no hayan más.
Si no se me entiende con lo del diagrama, dejo una captura.
http://prntscr.com/e5pmic