Getting cover images from children if they exist

<?php 
$placeholderImage = $page->cover()->toFile() ?? $page->image();
if (! $placeholderImage) {
  if ( $p = $page->children()->first()) {
    $fallbackImage = $p->cover()->toFile() ?? $p->images()->first();
  }
}
?>
<?php if ($placeholderImage) : ?>

  <!-- Load MAIN IMAGE -->
  <img class="placeholderimg" src="<?= $image->thumb('xs')->url() ?>">
  <img data-src="<?= $image->url() ?>" class="lazyload" srcset="<?= $image->srcset([300, 500, 1000, 1500, 1800, 2000]) ?>">

<?php elseif ($fallbackImage) : ?>
  <img class="placeholderimg lazyload" src="<?= $image->url() ?>" srcset="<?= $image->srcset([1]) ?>">
  <img data-src="<?= $image->url() ?>" class="lazyimage lazyload" srcset="<?= $image->srcset([300, 500, 1000]) ?>">

<?php endif ?>