sql >> Databáze >  >> RDS >> Mysql

Jak seskupit data pole vrácená dotazem na levé spojení v php?

I když můžete vygenerovat požadované pole v jedné smyčce, raději bych provedl dva dotazy. Nejprve načtěte všechny značky do pole a ke každé značce přidejte prázdné pole produktů. Poté načtěte všechny produkty a přiřaďte je k související značce.

Protože nevím, jakou DB knihovnu používáte, zde nějaký pseudo kód:

$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;
}


  1. Co byste měli vědět o WITH NOCHECK při povolení omezení CHECK v SQL Server

  2. Kopírovat databázi MySQL

  3. Co je PDO, jak souvisí s SQL injection a proč bych to měl používat?

  4. Instalace PostgreSQL 9 na Windows:Nelze zapisovat do cesty prostředí TEMP.