Pues no se donde piensas que do { } do es una sintaxis válida, pero sí es posible anidar dos bucles, o más, por ejemplo:
Código PHP:
Ver originalforeach ($posts as $post) {
// imprimes el $post
foreach ($post->getAattachments() as $attachment) {
// imprimes los adjuntos
}
}
Es algo trivial, pero debes de usar la sintaxis correcta, si quieres usar do/while es lo mismo, revisa solamente que bucle vas a usar y listo.
Saludos.