Update on find('neighbours');
After some IRCing, it appears I’d misunderstood how the array should work to get the method working correctly.
$this->set('neighbours', $this->Species->find('neighbors', array(
'field' => 'Species.latin_name', 'value' => $this->data['Species']['latin_name'], 'order'=>'asc',
'conditions'=>array(
'Species.species_category_id'=>$this->data['Species']['species_category_id'],
'Species.status'=>1
)
)));
What a plonker.