Как получить все значения SQL-запроса внутри For в PHP?


у меня есть следующий код, где я делаю запрос внутри for, и когда я хочу вернуть это значение, я получаю только последнюю запись, это последнее значение, которое имел цикл ($i Мой счетчик в for). я хочу знать, как сохранить разные результаты For.

 if($result){

            $reporte=array();
            for($i=0;$i<$cuantos;$i++){

                 $reportadas[]=[];
                 $iduser1=$result[$i]->IDUSER;


                $reporte=array(DB::select("SELECT IDUSER,SUM(hor) as  total,(ROUND(((sum(hor)*100)/45),2,0)) as EficienciaReal
                  from
                  (SELECT IDUSER,TIEMPO,(TIEMPO/60) as hor 
                   FROM [dbo].[datos]
                   where  fecha between '{$fech1}' and '{$fech2}' and IDUSER=$iduser1) as T1
                  Group by IDUSER"));
             }

           var_dump($reporte); 
           /*
                   return view("estancia.datos")
                        ->with("result",$result)
                        ->with("reporte",$reporte);*/

только если я помещаю var_dum ($Report) внутри for, я вижу массив с моими полными результатами introducir la descripción de la imagen aquí из того, что я нанял, я получаю это introducir la descripción de la imagen aquí

Author: Shaz, 2019-03-07

1 answers

Проблема в том, что вы перезаписываете переменную на каждой итерации. Вам нужно создать массив с результатами asi:

if($result){

        $reporte=array();
        for($i=0;$i<$cuantos;$i++){

             $reportadas[]=[];
             $iduser1=$result[$i]->IDUSER;


            $reporte[]=array(DB::select("SELECT IDUSER,SUM(hor) as  total,(ROUND(((sum(hor)*100)/45),2,0)) as EficienciaReal
              from
              (SELECT IDUSER,TIEMPO,(TIEMPO/60) as hor 
               FROM [dbo].[datos]
               where  fecha between '{$fech1}' and '{$fech2}' and IDUSER=$iduser1) as T1
              Group by IDUSER"));
         }

       var_dump($reporte); 
       /*
               return view("estancia.datos")
                    ->with("result",$result)
                    ->with("reporte",$reporte);*/
 0
Author: alanfcm, 2019-03-07 21:17:36