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..– bfavaretto
The error happens on this line 'locks' => $paginationBlock['data'] and on another line that is using the return of Query getPageBlock.
– Gustavo