sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo agrupar los datos de matriz devueltos por la consulta de combinación izquierda en php?

Si bien puede generar la matriz deseada en un solo bucle, prefiero ejecutar dos consultas. Primero busque todas las marcas en una matriz y agregue una matriz de productos vacía a cada marca. Luego busque todos los productos y asígnelos a la marca relacionada.

Como no sé qué biblioteca de base de datos está utilizando, aquí hay algún tipo de pseudocódigo:

$data = [];

$brandResult = $db->query("SELECT id, name FROM tbl_brand");
while ($row = $brandResult->fetchObject()) {
    $row->product_names = [];
    $data[$row->id] = $row;
}

$productResult = $db->query("SELECT id, brand_id, p_name FROM tbl_products");
while ($row = $productResult->fetchObject()) {
    $data[$row->brand_id][$row->id] = $row->p_name;
}