It must be because it's late, but I didn't really understand what you are trying to do.
But anyway, since you said find('neighbors')
is "quite close", I'll give you an option to custom change that to fit your needs. That been said, if someone else is less sleep deprived than me and offers you a more efficient solution, take it.
Anyway, the solution: build a custom find.
Cake's docs explains how to create one. So do that, a find('lots-of-neighbors')
find.
Creating a new custom find seems pretty straightforward, so not going to explain that, you should ask a new question if you don't understand something there.
Now, what to actually put in the custom find function? Well, copy the find('neighbors')
function and change what you need. I'll give you the link for the code, though I don't have your exact cakephp version, so you should double check.
From what I understood, the only problem you have with that function is that it just return 2 records, so you'll probably have to only change the limits
inside the conditions (line 3143, 3156, 3160).
That's it in a nutshell. If it isn't what you want, I'll give it another go tomorrow morning.