Как исправить Laravel фабричная ошибка - array_keys () ожидает, что параметр 1 будет массивом, строкой - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь написать фабрику для создания данных в моем Laravel веб-приложении. Вот мой код:

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Manuscript;
use Faker\Generator as Faker;

$factory->define(Manuscript::class, function (Faker $faker) {
    return [
        'physical_location' => $faker->randomElement(["Bangkok National Museum", <more items>]),
        'classmark' => "$faker->phoneNumber()",
        'place_of_origin' => $faker->randomElement([ "Ayutthaya", "Sukhothai", <more items> ]),
        'date_of_creation' => $faker->randomElement(["6th century CE","7th century CE", <more items>]),
        'associated_persons' => $faker->name($gender = 'male'),
        'physical_description' => $faker->text(100),
        'material' => $faker->text(100),
        'format' => $faker->randomElement('Folio','Quarto','Codex','Scroll'),
        'binding' => $faker->randomElement('String','Jute','Palm thread'),
        'images' => " ",
        'user_id' => App\User::first(),
        'subject' => $faker->words(4, true),
        'author' => $faker->name($gender = 'male'),
    ];
});

Тем не менее, я получаю следующую ошибку:

PHP Warning:  array_keys() expects parameter 1 to be array, string given in C:/.../vendor/fzaninotto/faker/src/Faker/Provider/Base.php on line 195

Первоначально я пытался установить язык Faker на тайский, но это не помогло. вне. Я установил его на «en_NZ», но все равно получаю ту же ошибку.

Любая помощь здесь будет хорошей.

...