2016-10-24 63 views
1

私はFakerをLaravelシーダーで使用しようとしています。ここで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のようなlongitudeプロパティにもアクセスしようとしましたが、それでも動作しませんでした。

データを生成するためにfakerのlongitudeプロパティにアクセスするにはどうすればよいですか?

答えて

2

プロパティとしてlatituteなどを追加する必要があります。

$faker->latitude(-90, 90) 

または::

$faker->latitude() 
+0

'[symfonyの\コンポーネント\デバッグ\例外の\ FatalErrorExceptionようにすればいいのいずれか] 未定義のメソッドを呼び出すFaker \ Factory :: latitude() '別のfakerライブラリを取得する必要があるようです。これはrequire-devセクションの '' fzaninotto/faker ''の下のcomposer.jsonファイルにあります: "〜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; 
関連する問題