我需要在我的用户实体中有一个虚拟属性。我遵循了CakePHP的书。
用户实体.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'];
}
}
在控制器中
$users = TableRegistry::get('Users');
$user = $users->get(29);
$firstname = $user->firstname; // $firstname: "John"
$lastname = $user->lastname; // $lastname: "Doe"
$value = $user->full_name; // $value: null
我完全按照这本书的要求做,只得到了一个null
值。
3条答案
按热度按时间polhcujo1#
根据@ndm的说法,问题是由于文件命名错误。我将用户实体类命名为
UserEntity.php
。The CakePHP name conventions表示:实体类OptionValue可以在名为OptionValue.php的文件中找到。
wqsoz72f2#
you can back to resource here
dxxyhpgq3#
为什么不直接去做这样的事情呢?