Codeception не получает данные из дочернего класса - PullRequest
0 голосов
/ 08 мая 2020

Я работаю в расширенном шаблоне Yii2. Я пишу модульный тест с использованием кода. У меня есть модель common \ models \ Member. От члена я наследую супервизора дочерней модели

Теперь я хочу получить данные из модели супервизора, но он дает мне пустой массив

 $model= $this->tester->grabRecord('common\models\Superviser ', array('member.id' => 8));
 print_r($model); 

Спасибо

1 Ответ

0 голосов
/ 11 мая 2020

Вам необходимо изменить имя атрибута, который вы используете в grabRecord()

Вы можете думать о grabRecord() как о тестовой версии ActiveRecord::find() или ActiveRecord::findOne() параметров, которые вы передаете метод будет использоваться для создания запроса, который получит запись.

В вашем примере вы используете member.id, вероятно, не соответствует никаким атрибутам в вашем классе Superviser, вам нужно изменить это к атрибуту, который вы хотите получить, в вашем случае это должно быть id.

$I->grabRecord(Superviser::class, ['id' => $id]);

Должно сработать. Чтобы найти дополнительную информацию о различных способах запроса данных, вы можете проверить документацию Yii для queryinterface :: Where ()

...