Mam taki problem mam sobie dwie tabele
Przekierowania_grup
id_substancji id_grupy
i grupy
nazwa
I teraz jedna substancja może należeć do n grup i mam taki kod
public function selectGroupName(int $id) {
$group = new Forwarding_group;
$arrayGroup = array();
$i = 0;
//print $id;
$list = $group
->selectRaw("forwarding_groups.id_substances as id_sub")
->selectRaw("forwarding_groups.id_groups as id_gro")
->selectRaw("groups.name as name")
->join("groups","groups.id","forwarding_groups.id_groups")
//->join("forwarding_substances","")
->where("groups.id_users",Auth::User()->id)
//->groupBy("forwarding_groups.id_groups")
//->having("forwarding_groups.id_substances",$id)
->get();
foreach ($list as $listGroup) {
//print $id;
//print $listGroup->id_sub . " ";
if ($listGroup->id_sub == $id) {
$arrayGroup[$i][0] = $listGroup->id_gro;
$arrayGroup[$i][1] = $listGroup->name;
$arrayGroup[$i][2] = true;
//print "s";
}
else {
$arrayGroup[$i][0] = $listGroup->id_gro;
$arrayGroup[$i][1] = $listGroup->name;
$arrayGroup[$i][2] = false;
}
$i++;
}
return $arrayGroup;
}
I jak ta linika nie będzie zachaszowana
->groupBy("forwarding_groups.id_groups")
To grupuje mi według id_group, ale wtedy jest problem bo ma w instrukcji warunkowej przeflirtowac czyli zaznaczyć checked substancje która jest w tej grupie i tego nie robi a jak ta instrukcja nie będzie zachaszowana to wtedy dubluje mi substancje które mają ta samą grupę czyli po prostu jak ibuprofen przecibólowe i paracetamo tez przecibólowe to dwa razy wyświetli przecibólowe
I teraz czy da się to zrobić za pomoca jednego zapytamia, żeby poprawnie wyświetlało te dane ?