Add elements to an array via a foreach

Asked

Viewed 26 times

0

I cannot add elements to an array through a foreach

My array $agendas:

array(7) { [0]=> array(7) { ["id"]=> string(1) "1" ["cliente_id"]=> string(1) "3" ["usuario_id"]=> string(1) "1" ["unidade_id"]=> string(1) "1" ["antecedencia_abertura"]=> string(2) "30" ["dt_registro"]=> NULL ["dt_atualizacao"]=> NULL } [1]=> array(7) { ["id"]=> string(1) "6" ["cliente_id"]=> string(1) "3" ["usuario_id"]=> string(1) "4" ["unidade_id"]=> string(1) "2" ["antecedencia_abertura"]=> NULL ["dt_registro"]=> string(19) "2019-08-01 11:27:07" ["dt_atualizacao"]=> NULL } [2]=> array(7) { ["id"]=> string(1) "7" ["cliente_id"]=> string(1) "3" ["usuario_id"]=> string(1) "4" ["unidade_id"]=> string(2) "19" ["antecedencia_abertura"]=> NULL ["dt_registro"]=> string(19) "2019-08-01 11:27:28" ["dt_atualizacao"]=> NULL } [3]=> array(7) { ["id"]=> string(1) "8" ["cliente_id"]=> string(1) "3" ["usuario_id"]=> string(2) "29" ["unidade_id"]=> string(1) "1" ["antecedencia_abertura"]=> NULL ["dt_registro"]=> string(19) "2019-08-09 21:08:34" ["dt_atualizacao"]=> NULL } [4]=> array(7) { ["id"]=> string(1) "9" ["cliente_id"]=> string(1) "3" ["usuario_id"]=> string(2) "29" ["unidade_id"]=> string(1) "2" ["antecedencia_abertura"]=> NULL ["dt_registro"]=> string(19) "2019-08-09 21:08:36" ["dt_atualizacao"]=> NULL } [5]=> array(7) { ["id"]=> string(2) "11" ["cliente_id"]=> string(1) "3" ["usuario_id"]=> string(2) "28" ["unidade_id"]=> string(2) "19" ["antecedencia_abertura"]=> NULL ["dt_registro"]=> string(19) "2019-08-27 01:43:29" ["dt_atualizacao"]=> NULL } [6]=> array(7) { ["id"]=> string(2) "12" ["cliente_id"]=> string(1) "3" ["usuario_id"]=> string(2) "28" ["unidade_id"]=> string(1) "2" ["antecedencia_abertura"]=> NULL ["dt_registro"]=> string(19) "2019-08-27 01:43:30" ["dt_atualizacao"]=> NULL } }

It’s run by this Foreach:

$paginationBloqueios = [];
    foreach ($agendas as $agenda) {
        array_push($paginationBloqueios, $agendaBloqueio->getPageBloqueios($agenda['id'], $pageBloqueios));
    }

That is sent to my view:

'bloqueios'             => $paginationBloqueios['data'],

My mysql:

public static function getPageBloqueios($agenda_id, $page = 1, $itemsPerPage = 10)
{

    $start = ($page - 1) * $itemsPerPage;

    $sql = new Sql();

    $results = $sql->select("
                                    SELECT SQL_CALC_FOUND_ROWS 
                                      tb_usuario.apelido,
                                      tb_agenda_bloqueio.id,
                                      tb_agenda_bloqueio.dt_inicio_bloqueio,
                                      tb_agenda_bloqueio.dt_fim_bloqueio
                                    FROM  
                                      tb_agenda_bloqueio
                                    INNER JOIN tb_agenda
                                      ON tb_agenda.id = tb_agenda_bloqueio.agenda_id
                                    LEFT JOIN tb_usuario
                                      ON tb_usuario.id = tb_agenda.usuario_id
                                    WHERE 
                                      tb_agenda_bloqueio.agenda_id = :agenda_id
                                    LIMIT $start, $itemsPerPage;
                                    ", array(
                                        ":agenda_id" => $agenda_id
                                    ));

    $resultTotal = $sql->select("SELECT FOUND_ROWS() AS nrtotal;");

    return [
        'data'  => $results,
        'totalBloqueios' => (int)$resultTotal[0]["nrtotal"],
        'pagesBloqueios' => ceil($resultTotal[0]["nrtotal"] / $itemsPerPage)
    ];

}

I’m getting the bugs:

Notice: Undefined index: pagesBloqueios in C: xampp htdocs teste app Controller Sistema Blockocontroller.php on line 138

Notice: Undefined index: data in C: xampp htdocs teste app Controller Sistema Blockocontroller.php on line 154

  • It seems that these errors happen elsewhere in the code. Anyway, by what you show there is no $paginationBloqueios['data'], and yes $paginationBloqueios[0]['data'], $paginationBloqueios[1]['data'] , etc..

  • The error happens on this line 'locks' => $paginationBlock['data'] and on another line that is using the return of Query getPageBlock.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.