Я пытаюсь реализовать свой собственный класс как сущность и таблицу, но даже если я это сделаю, кажется, что Cake все еще использует значение по умолчанию, которое он генерирует. Как я могу реализовать свои собственные классы сущностей / таблиц, и чтобы Cake действительно использовал их?
Вот код, который я использую в контроллере:
$users = TableRegistry::get('Users');
// If post, create user
if ($this->request->is('post')) {
$newUser = $users->newEntity($this->request->data());
$newUser->password = "tester";
$result = $users->save($newUser);
}
Тогда у меня есть этот класс сущности:
namespace App\Model\Entity;
use Cake\ORM\Entity;
class User extends Entity
{
protected function _setPassword($value) {
die('kage');
$hasher = new DefaultPasswordHasher();
return $hasher->hash($value);
}
}
Несмотря на то, что я следую соглашениям, Cake все еще не использует этот класс, и функция _setPassword НИКОГДА не вызывается? Как мне сделать торт на самом деле использовать этот класс сущности?
Спасибо
* РЕДАКТИРОВАТЬ *
Я попробовал это:
$test = $users->newEntity();
debug(get_class($test));
И это выводит:
'Cake\ORM\Entity'
Это означает, что торт не загружается в мою модель, по какой-то странной причине, которую я не могу понять. я могу вручную создать экземпляр, используя новый пользователь (), и он выбирает правильный, но я не могу просмотреть таблицу?
Задача ещё не решена.
Других решений пока нет …