Cakephp 3的虚拟字段

ric*_*ere 6 php orm cakephp cakephp-3.0

我需要在我的用户实体中拥有一个虚拟属性.我跟着CakePHP书.

UserEntity.php

namespace App\Model\Entity;

use Cake\ORM\Entity;

class User extends Entity {

    protected $_virtual = ['full_name'];

    protected function _getFullName() {
        return $this->_properties['firstname'] . ' ' . $this->_properties['lastname'];
    }
}
Run Code Online (Sandbox Code Playgroud)

在控制器中

$users = TableRegistry::get('Users');
$user = $users->get(29);
$firstname = $user->firstname; // $firstname: "John"
$lastname = $user->lastname; // $lastname: "Doe"
$value = $user->full_name; // $value: null
Run Code Online (Sandbox Code Playgroud)

我完全按照这本书,我只得到了一个null价值.

ric*_*ere 7

根据@ndm,问题是由于文件命名错误.我命名了用户实体类UserEntity.php.CakePHP名称约定说:

Entity类OptionValue可以在名为OptionValue.php的文件中找到.

谢谢.