I need to have a virtual property in my user entity. I followed the CakePHP book.
UserEntity.php
namespace AppModelEntity; use CakeORMEntity; class User extends Entity { protected $_virtual = ['full_name']; protected function _getFullName() { return $this->_properties['firstname'] . ' ' . $this->_properties['lastname']; } }
In a controller
$users = TableRegistry::get('Users'); $user = $users->get(29); $firstname = $user->firstname; // $firstname: "John" $lastname = $user->lastname; // $lastname: "Doe" $value = $user->full_name; // $value: null
I followed exactly the book and I only get a null
value.
Advertisement
Answer
According to @ndm, the problem was due to a bad file naming. I named the user entity class UserEntity.php
. The CakePHP name conventions says that:
The Entity class OptionValue would be found in a file named OptionValue.php.
Thanks.