I'm using angular and php. The following message appears in my console:
Error: [ngRepeat: dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: message in messages, Duplicate key: string: r, Duplicate value: r
I'm not using "track by $ index" in my html file, because it gives another problem and pretty crazy kkkkk
html:
<div class="card" ng-repeat="mensagem in mensagens track by id">
<div class="item item-text-wrap">
<h2>{{mensagem.nome}}</h2>
<p> {{mensagem.msg}}</p>
<p>{{mensagem.hora}}</p>
</div>
</div>
angular:
.controller('logradouroCtrl', function ($scope, $http, $window) {
var pegaMsgsLogra = function () {
idCep = $window.localStorage.getItem('idCep');
idUsuario = $window.localStorage.getItem('idUsuario');
var dados = {
idUsuario: $window.localStorage.getItem('idUsuario'),
idCep: $window.localStorage.getItem('idCep')
}
$http.post("http://www.vigilantescomunitarios.com/www/php/pegaMsgsLogra.php", dados).success(function (data){
$scope.mensagens = data;
});
}
pegaMsgsLogra();
$scope.enviarMsg = function (msg) {
var enviaMsg = {
msg: msg,
idUsuario: $window.localStorage.getItem('idUsuario'),
idCep: $window.localStorage.getItem('idCep'),
nome: $window.localStorage.getItem('nome')
}
$http.post("http://www.vigilantescomunitarios.com/www/php/enviaMsgLogra.php", enviaMsg).success(function (data){
console.log(data);
});
pegaMsgsLogra();
}
})
php:
while ($linhaMsg=$pegaMsgsLogra->fetch(PDO::FETCH_ASSOC)) {
@$idAviso = $linhaMsg['idAvisoLogradouro'];
@$idUsuario = $linhaMsg['idUsuario'];
@$msg = $linhaMsg['msg'];
@$foto = utf8_encode($linhaMsg['foto']);
@$hora = $linhaMsg['hora'];
$horaP = explode(':', $hora);
$hora = $horaP[0].':'.$horaP[1];
//Busca nome do usuário que envio a mensagem
$pegaUsuarioRemetente=$pdo->prepare("SELECT nome FROM usuarios WHERE idUsuario=:idUsuario");
$pegaUsuarioRemetente->bindValue("idUsuario", $idUsuario);
$pegaUsuarioRemetente->execute();
while ($linhaUsuarioRemetente=$pegaUsuarioRemetente->fetch(PDO::FETCH_ASSOC)) {
$nomeRemetente = utf8_encode($linhaUsuarioRemetente['nome']);
$return = array(
'id' => $idAviso,
'nome' => $nomeRemetente,
'msg' => $msg,
'foto' => $foto,
'hora' => $hora
);
$mensagens[] = $return;
}
}
print_r($mensagens);
echo json_encode($mensagens);