расширенная модель cakephp 4 в плагине — таблица не найдена

#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 Ха! Ты прав! папка была неправильной 🙂 Я теперь это было тривиально, но не могу найти проблему!