Вы используете именованные параметры, которые не передаются функции в качестве параметра.Если вы хотите продолжать использовать именованные параметры, сделайте следующее.В config / rout.php добавьте:
Router::connectNamed(array('id'));
Перепишите свою функцию admin_delete () для доступа к параметру id через массив именованных параметров:
function admin_delete(){
if(isset($this->params['named']['id']) && $this->Booking->delete($this->params['named']['id'])) {
$this->Session->setFlash('Booking deleted');
$this->redirect(array('action'=>'index'));
exit();
}
}
В качестве альтернативы, если вы хотитеСохраняйте это простым и просто не используйте именованные параметры, вы можете просто обновить ссылку удаления, чтобы не использовать их.(удалить "'id' =>"):
<?php echo $html->link('Delete', array('action'=>'admin_delete', $booking['Booking']['id']), null, 'Are you sure?');?>