On my site, users can upload images. Images have their own pages.
$user = User::where('username', $username)->first();
$image = Images::where('url_title', $URLtitle)->where('created_by', $user->id)->first();
If you don't mind running some extra queries you could do:
$query = Images::where('url_title', $URLtitle)->where('created_by', $user->id);
$image = $query->first();
$prevImage = $query->where('id', '<', $image->id)->orderBy('id', 'desc')->first();
$nextImage = $query->where('id', '>', $image->id)->orderBy('id', 'asc')->first();
That should give you the nearest images on each side of your selected image.