首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Faker得到streetAddress掷ErrorException

Faker得到streetAddress掷ErrorException
EN

Stack Overflow用户
提问于 2020-03-17 17:48:10
回答 1查看 268关注 0票数 0

我正在构建一个laravel应用程序,我已经创建了一个FakerServiceProvider来填充工厂以进行测试和本地开发。

代码语言:javascript
运行
复制
<?php

namespace App\Providers;

use Faker\Factory;
use Faker\Generator;
use Faker\Provider\en_GB\Address;
use Faker\Provider\en_GB\Person;
use Faker\Provider\en_GB\PhoneNumber;
use Illuminate\Contracts\Support\DeferrableProvider;
use Illuminate\Support\ServiceProvider;

/**
 * Class FakerServiceProvider
 * @package App\Providers
 */
class FakerServiceProvider extends ServiceProvider implements DeferrableProvider
{
    /**
     *
     */
    public function register()
    {
        $this->app->singleton(Generator::class, function ($app) {
            $factory = Factory::create('en_GB');
            $factory->addProvider(Person::class);
            $factory->addProvider(Address::class);
            $factory->addProvider(PhoneNumber::class);

            return $factory;
        });
    }

    /**
     * @return array
     */
    public function provides()
    {
        return [Generator::class];
    }
}

我创建了一个地址工厂:

代码语言:javascript
运行
复制
<?php

use App\Address;
use App\Country;

$factory->define(Address::class, function (Faker\Generator $faker) {
    return [
        'line_1' => $faker->secondaryAddress,
        'line_2' => $faker->streetAddress,
        'town' => $faker->city,
        'county' => $faker->county,
        'country_id' => factory(Country::class)->make()->id,
        'postcode' => $faker->postcode,
        'phone' => $faker->phoneNumber,
    ];
});

当我尝试使用这个工厂时,我得到以下错误:ErrorException: call_user_func_array() expects parameter 1 to be a valid callback, non-static method Faker\Provider\Address::streetAddress() should not be called statically

我已经检查了Faker库的源代码,并且有一个streetAddress方法这里

我试着同时调用$faker->streetAddress$faker->streetAddress‘或类似的东西。

有人能帮我弄清楚这件事吗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-20 14:36:48

删除Faker服务提供程序中添加的提供程序修复了该问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60727650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档