因此,我的应用程序在一个位置以及在其实时服务器上的生产模式下以开发模式运行。我刚刚进行了一些更改,并且通过调用Model::read()
找不到生产数据库(MySQL)中的一个或两周的字段。这是代码,逐字:
$this->Order->id = $id;
$created = $this->Order->field('created');
$this->Order->contain(array('User', 'OrderStatusChange', 'Cart' => array('CartItem' => array('conditions' => array('deleted_date' => null, 'created <=' => $created)))));
$this->request->data = $order = $this->Order->read();
dev环境中的相同代码返回所有字段。生产中缺少新的(ish)字段。我删除了/ app / tmp / cache / models中的每个文件,并没有解决问题。生产站点有Configure::write('debug', 0)
,开发站点设置为2。
有什么想法吗?
由于
答案 0 :(得分:0)
由于您已经清除了缓存,但问题仍然存在。所以,我会在这里指出一件事:
$this->Order->contain(...)
您使用的是contain()
,而contain()
需要将Containable
行为附加到模型中。您的代码并未说明您是否附加了该代码。如果没有,那么我建议你附上:
.....
$this->Order->Behaviors->attach('Containable'); // attach Containable behavior
$this->Order->contain(...);
......