Si primero has creado un usuario con tres avisos, y cada aviso con una imagen, debe devolverte tres registros, donde se repetirá el ID del usuario una vez por registro.
Si luego de eso añades un usuario, y dos avisos con su respectiva imagen en cada uno, todo para el segundo usuario, pues la query devolverá cinco registros: Tres (3) del primero, y dos (2) del segundo. No hay error, ni repetición, ni cruzamiento de datos en lo que me dices y lo que posteas.
Francamente no termino de entender cuál es el problema que le ves. hasta lo que puedo analizar, todo es correcto.
Podrías mostrar la
tabla (no los arrays) de resultados que tienes, y un ejemplo de lo que supones deberías tener (también como tabla, no como arrays)?
Porque no se ve ningún error en ninguna parte.