0

因此,我的应用程序在一个地方以开发模式运行,并在其实时服务器上以生产模式运行。我刚刚进行了一些更改,并且通过调用Model::read(). 这是代码,逐字逐句:

    $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();

开发环境中的相同代码返回所有字段。生产中缺少新的(ish)字段。我已经删除了 /app/tmp/cache/models 中的每个文件,但它并没有解决问题。生产站点有Configure::write('debug', 0),开发站点设置为2。

有任何想法吗?

谢谢

4

1 回答 1

0

由于您已经清除了缓存,但问题仍然存在。所以,我要在这里指出一件事:

$this->Order->contain(...)在这里,您使用contain()and for contain(),需要将Containable行为附加到模型。您的代码没有说明您是否附上了它。如果没有,那么我会建议你附上这样的:

.....
$this->Order->Behaviors->attach('Containable');  // attach Containable behavior
$this->Order->contain(...);
......
于 2013-11-04T18:48:08.027 回答