CakePHP 3.x — импорт светильников не загружает данные

Я пытаюсь импортировать приборы в моем плагине CakePHP 3.x.
Когда я запускаю тесты, я всегда получаю ошибку:

UserManager \ Test \ TestCase \ Controller \ UsersControllerTest :: testProfile
исключение «Cake \ Datasource \ Exception \ RecordNotFoundException» с сообщением «Запись не найдена в таблице« пользователи »

Вот UsersFixture.php:

namespace UserManager\Test\Fixture;
use Cake\TestSuite\Fixture\TestFixture;

class UsersFixture extends TestFixture {
public $import = ['table' => 'users'];
}

Мой тест не пройден, потому что он не может найти текущего пользователя в тестовой базе данных.

Я предположил, что таблица пользователей создана успешно, но данные не импортируются.

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

Мой метод testIndex () тоже не работает, потому что количество записей всегда равно 0.

Почему таблица результатов не содержит мои записи?

2

Решение

К сожалению, я думаю, что с вашим кодом все в порядке. Из того, что я вижу, CakePHP 3.x делает не поддержка импорта записей таблиц в осветителях больше, только структура таблицы.

(См. Различия документов: 2.x: Импорт информации таблицы и записи, 3.x: Импорт информации таблицы)

Я не думаю, что есть какой-то способ обойти это, если вы не модифицируете ядро ​​CakePHP 3.x напрямую.

2

Другие решения

Вы можете, конечно, импортировать записи в торт 3.

Из торта испечь bin/cake bake fixture invoice_statuses -r --count 100
Вам нужно будет восстанавливать это каждый раз, когда вы вносите изменения в таблицу, но это лучше, чем ничего. Дает вам хорошую отправную точку.

Вы также можете использовать условия для генерации очень специфических приборов.

введите описание изображения здесь

6

По вопросам рекламы [email protected]