Для foreach () указан неверный аргумент при загрузке приборов - PullRequest
0 голосов
/ 26 сентября 2019

Я создал класс PatientOrderFixture для загрузки данных с использованием осветителей Doctrine и фейкера.При выполнении doctrine: fixtures: load я получаю сообщение об ошибке «Недопустимый аргумент для foreach ()».Я попытался свести его к простой загрузке объекта пациента и все еще получить ошибку, поэтому я добавил еще один объект, чтобы посмотреть, не зависло ли оно где-нибудь на необходимом поле.

Loader.php error Предупреждение: неверный аргумент указан для foreach ()

У меня нет кода foreach в моем коде, поэтому я думаю, что это внутренняя ошибка.Может быть, в зависимости от того, как настроен мой прибор?

PatientOrderFixtures.php

class PatientOrderFixtures extends Fixture implements FixtureGroupInterface {

    /** @var Generator */
    protected $faker;

    private static $sex = [
        'M',
        'F'
    ];

    private static $race = [
        'American Indian or Alaska Native',
        'Asian',
        'Black or African American',
        'Native Hawaiian or Other Pacific Islander',
        'White'
    ];

    private static $ethnicity = [
        'Not Hispanic-Latino-Spanish Origin',
        'Hispanic-Latino-Spanish Origin'
    ];

    public function load(ObjectManager $manager)
    {
        $this->faker = Factory::create();

        for ($i = 0; $i < 8; $i++) {

            $user = new User();
            $user
                ->setUsername($this->faker->userName)
                ->setPassword('test')
                ->setRoles(null);
            $manager->persist($user);

            $patient = new Patient();
            $patient
                ->setFirstName($this->faker->firstName)
                ->setMiddleName($this->faker->firstName)
                ->setLastName($this->faker->lastName)
                ->setDateOfBirth($this->faker->dateTimeBetween($startDate = '-75 years', $endDate = '-1 days'))
                ->setSex($this->faker->randomElement(self::$sex))
                ->setRace($this->faker->randomElement(self::$race))
                ->setEthnicity($this->faker->randomElement(self::$ethnicity))
                ->setZip($this->faker->postcode)
                ->setMRN($this->faker->randomNumber($nbDigits = 8, $strict = false));
            $manager->persist($patient);

            $patientSample = new PatientSample();
            $patientSample
                ->setPatient($patient)
                ->setEnteredDate($this->faker->dateTimeBetween($startDate= '-14 days', $endDate = '-1 days'))
                ->setUser($user);
            $manager->persist($patientSample);

            $patientOrder = new PatientOrder();
            $patientOrder
                ->setAccessionNumber($this->faker->randomNumber($nbDigits = 8, $strict = false))
                ->setPatient($patient)
                ->setPatientSample($patientSample);
            $manager->persist($patientOrder);
        }
        $manager->flush();
    }
    public function setRoles(array $roles): self
    {
        $this->roles = $roles;

        return $this;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...