【问题标题】:How to generate latitude, longitude info using Faker from Laravel seeder?如何使用来自 Laravel 播种机的 Faker 生成纬度、经度信息?
【发布时间】:2017-03-06 14:43:38
【问题描述】:

我正在尝试在 Laravel 播种机中使用 Faker

这是我的播种机类的样子

<?php

use Illuminate\Database\Seeder;
use Faker\Factory as Faker;

class LatitudeLongitudeTestTableSeeder extends Seeder
{

    public function run()
    {
        $faker = new Faker;

        $myTable = 'LatitudeLongitudeTest';

        foreach (range(1,10) as $index) {
            DB::table($myTable)->insert([
                'Latitude' => $faker->Address->latitude,
                'Longitude' => $faker->Address->longitude,
                'name' => $faker->Address->street_name,
            ]);
        }

    }
}

但这给了我以下错误

[ErrorException] 未定义属性:Faker\Factory::$Address

我也尝试像$faker-&gt;longitude 那样访问经度属性,但这仍然不起作用。

如何访问 faker 中的 longitude 属性来生成数据?

【问题讨论】:

    标签: php laravel faker


    【解决方案1】:

    您应该添加latitute 和其他属性。所以,试试这样的:

    $faker->latitude(-90, 90)
    

    或者:

    $faker->latitude()
    

    【讨论】:

    • 我收到此错误[Symfony\Component\Debug\Exception\FatalErrorException] Call to undefined method Faker\Factory::latitude() 似乎我需要拉一个不同的伪造库。这就是我的 composer.json 文件中 require-dev 部分 "fzaninotto/faker": "~1.4", 下的内容
    • @Jaylen,我刚刚对其进行了测试,它可以工作。我有和你一样的版本。尝试运行composer update,可能包没有正确安装。
    • 我刚刚完成了所有更新。但仍然得到这个错误` [Symfony\Component\Debug\Exception\FatalErrorException] Call to undefined method Faker\Factory::latitude()`
    【解决方案2】:

    问题是你混淆了 Faker 的对象和static 参考。 您应该将其与静态引用一起使用,例如

    Faker::Address.latitude 
    

    或者如果你想将它与对象一起使用,请这样做

    $faker = new Faker(); $faker->address()->latitude;
    

    【讨论】:

      猜你喜欢
      • 2019-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 2018-09-03
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多