2014-08-28 45 views
0

在我的交付模式,我有以下虚拟字段设置:CakePHP的虚拟现场给内部错误

public $virtualFields = array(
    'shoe_count' => 'SELECT COUNT(*) FROM shoes as Shoe WHERE Shoe.delivery_id = Delivery.id' 
); 

当我删除这一点,一切工作正常。完成投入shoe_count虚拟领域,我得到以下错误鞋上的控制器的任何方法:

An Internal Error Has Occurred. Error: An Internal Error Has Occurred.

enter image description here

+0

你正在使用'Delivery.id'是你的SQL请求没有从这张表中选择! – webNeat 2014-08-28 14:54:59

+1

此外,它会更好地使用counterCache,而不是一遍又一遍地执行此计数查询。这不是有效的。 – burzum 2014-08-28 14:56:26

+1

将调试模式更改为'Configure :: write('debug',1)'以显示错误。把这一行放在AppController.php的beforeFilter()函数中。 – Ish 2014-08-28 15:02:51

回答

0

在你的PHP或蛋糕错误日志中,你应该找到是什么原因导致这个错误,它可能是有一个交货问题,因为在你的例子中,我没有看到这个值应该来自哪里......但是你应该首先锁定错误日志