Moje zadanie bardziej podchodzi pod mysq, ale też pod php więc pisze tutaj otóż z bazy wybieram jedno id i badam jaki to jest produkt i wybieram ile produktów ma takie substancje np metafen i apap mają paracetamo no i ta jedna substancja wchodzi w skład w niestereidowe leki przecizapalen i teraz jak przykładowo wezmę jeden lek i mam problem, żeby wyświetlić liczbę substancji, których zawiera dana grupa.
Np jest lek apap on zawiera paractamol więc uchwytuje wszystkie leki zawierające paracetamol i potem wszsytkie leki zawierające paracetamol potem bada grupę w której jst paracetamol i wybiera wszystkie produktu które są w niesteroidowych lekach przecizapalnych.
Tabela 1 produktu
id
nazwa
Tabela 2 substancje
id
nazwa
tabela 3 przekierowanie_substancji
id_substancji
id_produktu
tabela 4
przekierowanie_grup
id_grupy
id_substancji
tabela5
grupy
id nazwa
na razie mam to zrobione
private function oblicz_srednia_dla_calych_produktow_grup() {
$tablica_substancji = array();
$wspolne = new \App\Http\Controllers\wspolne();
$id_produkt = DB::select("select id_produktu from spozycie where id = " . Input::get('id') . "");
foreach ($id_produkt as $id_produkt2) {}
$produkt = DB::select("select nazwa,ile_procent,id from produkty where id = '" . $id_produkt2->id_produktu ."'");
foreach ($produkt as $produkt2) {}
$substancja = DB::select("select produkty.id,przekierowanie_substancji.id_substancji from produkty inner join przekierowanie_substancji on przekierowanie_substancji.id_produktu = produkty.id where id_produktu =" . $id_produkt2->id_produktu . "");
foreach ($substancja as $substancja2) {}
$i = 0;
//print $substancja2->id_substancji;
$substancja3 = DB::select("select distinct id_substancji as id_substancji,id_produktu from przekierowanie_substancji where id_substancji = '". $substancja2->id_substancji ."'");
//var_dump($substancja3);
foreach ($substancja3 as $substancja4) {
$grupa = DB::select("select distinct substancje.id as produkt,przekierowanie_grup.id_grupy as grupa from substancje inner join przekierowanie_grup on przekierowanie_grup.id_substancji = substancje.id where przekierowanie_grup.id_substancji =" . $substancja2->id_substancji . "");
var_dump($grupa);
foreach ($grupa as $grupa2) {
//print $grupa2->grupa . "<br>";
//w tym zapytaniu musi być błąd.
$grupa3 = DB::select("select distinct produkty.id as produkt from produkty inner join przekierowanie_substancji on przekierowanie_substancji.id_produktu = produkty.id inner join przekierowanie_grup on przekierowanie_grup.id_grupy = " . $grupa2->grupa . " where przekierowanie_substancji.id_produktu = " . $grupa2->produkt . " and produkty.id = " . $id_produkt2->id_produktu . "");
//print
print $grupa2->produkt . "<br>";
foreach ($grupa3 as $grupa4) {
$tablica_substancji[$i] = $grupa4->produkt;
print $i . " " . $tablica_substancji[$i] . "<br>";
$i++;
}
}
}
//var_dump($tablica_substancji);
}