Модель выпекания CakePHP 3 с тем же именем таблицы из разных источников данных - PullRequest
0 голосов
/ 29 октября 2018

Я использую CakePHP 3.

У меня есть разные источники, и у каждого есть своя таблица users.

Короче говоря, я создаю мастер-панель для управления пользователями из всех других приложений.

Когда я пеку users стол из другого соединения

bin/cake bake model users -c my_con

Он просит переопределить ранее запеченную users модель.

Как мне испечь стол с тем же именем из другого источника? может быть, в другом пространстве имен.

И невозможно определить, какой индекс представляет какой столбец.

Как сопоставить данные с именем столбца таблицы?

1 Ответ

0 голосов
/ 29 октября 2018

Вы можете использовать другое имя модели и явно передать имя базы данных с помощью опции --table, например:

bin/cake bake model UsersAlias --table users -c my_con

Использование другого пространства имен напрямую невозможно, для моделей / таблиц Bake поддерживает создание файлов только в плагинах, это будет другое пространство имен, но вам, конечно, понадобится отдельный плагин для каждого источника, который может быть немного сверх.

И fetchAll() имеет один аргумент, который принимает тип выборки в виде строки, 'assoc', 'obj' или 'num' (по умолчанию), также доступный как константы в \Cake\Database\Statement\PDOStatement:

$result = $query->fetchAll(\Cake\Database\Statement\PDOStatement::FETCH_TYPE_ASSOC);
...