Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: korabro 21. 05. 2020, 16:27:05
-
Pomoci joinu dvou tabulek dostavam vsechny group_id do kterych objekt patri
object_name | object_id | group_id
test123 | 1 | 20
test123 | 1 | 30
test123 | 1 | 40
V php bych potreboval pole pojmenovanych hodnot s vnorenym polem, ktere obsahuje vsechny group_id. Existuje nejaka elegantnejsi cesta nez pomoci while cyklu?
-
array_map? PHP má spousty array funkcí i s ukázkami, mrkni https://www.php.net/manual/en/ref.array.php
Není mi zatím moc jasné co chceš a proč nechceš while.
-
Obvykle a nejčastěji se použvá foreach. Ale jak říká AoK, není tak docela jasné, o co se snažíš.
-
Chtel jsem v zaveru dostat pole:
array(
object_name=test.123
object_id=1
group_id=array[20,30,40];
)
ty prvky vnoreneho pole jsem vytvarel pomoci while cyklu a array_push. Zajimalo me jestli je nejaka elegantejsi metoda.
V zaveru to tedy delam takto
// Ze vsech radku vracenych z DB, ziskat vsechny id skupin
$group_id= array_map(function($obj){ $tmpArr=array(); array_push($tmpArr,$obj['group_id']); return $tmpArr; }, $query_result);
// Z radku 0 sestavit zakladni info o objektu a pripojit group_id
$object_info=array("objectName"=> $query_result[0]['object_name'],"objectId"=> $query_result[0]['object_id'],"group_id"=>$group_id);
-
$select = $pdo->prepare("SELECT object_id, object_name, group_id FROM test");
$select->execute();
$info = $select->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);