CakePHP 3.0 - 生产服务器上缺少虚拟属性

时间:2015-03-26 10:20:34

标签: cakephp cakephp-3.0

我的CakePHP 3.0和我们服务器上的虚拟属性有一个奇怪的问题。 我们有一个具有以下虚拟属性的Photo Entity:

protected function _getPath()
{
    [...]

    return $path; // array with path for different photo sizes
}

在我们的开发服务器(Ubuntu,Apache,PHP 5.5.9-1ubuntu4.6)上,一切都运行良好。 在我们的生产服务器(Linux,Apache,PHP 5.5.23)上,除了数据对象中缺少虚拟属性外,该站点运行良好。

通过条目表从数据库中读取照片实体 - >包含并回显如下:

$entry->photos[0]['path']['wide'];

可以在两台服务器上读取Photo实体的基本属性,例如:

$entry->photos[0]['filename'];

另外我刚刚发现,两个服务器上的$ entry-> photo [0](或foreach循环中的$ photo)上的pr()是不同的。 在服务器上,一切按预期工作,我得到:

App\Model\Entity\Photo Object
(
    [_accessible:protected] => Array
        (
            [user_id] => 1
            [entry_id] => 1
            [filename] => 1
            [org_name] => 1
            [description] => 1
            [user] => 1
            [entry] => 1
        )

    [_virtual:protected] => Array
        (
            [0] => path
        )
[...]

并且在缺少虚拟财产的服务器上我得到:

Cake\ORM\Entity Object
(
    [_properties:protected] => Array
        (
            [id] => 37
            [user_id] => 1
            [entry_id] => 4
            [filename] => p19fng7349bb2p6nsac14j51qnu4.jpg
[...]

知道为什么缺少生产环境中的虚拟属性,以及为什么两台服务器上的对象都是不同类型的?

非常感谢!

西蒙

0 个答案:

没有答案