2016-10-24 23 views
1

我想在Laravel播種機中使用Faker如何使用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->longitude,但仍然無法正常工作。

如何訪問faker中的經度屬性來生成數據?

回答

2

您應該添加latitute和其他屬性。因此,嘗試這樣的事情:

$faker->latitude(-90, 90) 

或者:

$faker->latitude() 
+0

我得到這個錯誤 '[Symfony的\分量\調試\異常\ FatalErrorException ] 調用未定義的方法Faker \ Factory :: latitude()'似乎我需要拉一個不同的faker庫。這就是我在我的composer.json文件中的require-dev部分'「fzaninotto/faker」:「〜1.4」,' – Jaylen

+0

@Jaylen,我剛剛測試過它,它工作。我有和你一樣的版本。嘗試運行'composer update',可能包安裝不正確。 –

+0

我剛剛完成了一切更新。但仍然得到這個錯誤'[Symfony \ Component \ Debug \ Exception \ FatalErrorException] 調用未定義的方法Faker \ Factory :: latitude()' – Jaylen

0

問題是你混淆了法克爾的對象和static參考。 您應該靜態參考使用它像

Faker::Address.latitude 

,或者如果你想與對象使用它來做這樣

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