#cakephp #orm #cakephp-4.x
#cakephp #orm #cakephp-4.x
Вопрос:
У меня проблема с расширенной моделью. У меня есть 2 модели: пользователи и расширенные пользователи (с пользовательскими функциями).
Мой расширенный код модели:
class UsersExtendedTable extends UsersTable
{
public function initialize(array $config): void
{
parent::initialize($config);
$this->setTable('users');
$this->setEntityClass('UserExtended');
}
...
}
Расширенная модель находится в плагине, поэтому я написал:
$this->userTable = TableRegistry::getTableLocator()->get('AdminPanel.UsersExtended');
pr($this->userTable->find()->all());
Вторая строка выдает ошибку: «SQLSTATE[42S02]: базовая таблица или представление не найдены: таблица 1146 ‘имя_таблицы.users_extended’ не существует».
несмотря на то, что я устанавливаю имя таблицы в методе initialize().
Не могли бы вы помочь?
Комментарии:
1. Если вы проверите
get_class($this->userTable)
, говорит ли это, что это ваш тип или общий класс таблицы Cake? Держу пари, что это последнее, и что это будет из-за чего-то в именовании где-то (скорее всего, папки, имени файла или пространства имен вашего класса extended table).2. @GregSchmidt Ха! Ты прав! папка была неправильной 🙂 Я теперь это было тривиально, но не могу найти проблему!