2016-12-28 3 views
3

私のコードは次のようである:未定義の変数::私ループ移行テーブルのカウンタの使い方は? (laravel 5.3)

が私を助けることができるすべての人々がありますが実行されると

<?php 

use Illuminate\Database\Seeder; 
use Illuminate\Database\Eloquent\Model; 
use App\Models\Akun; 
use App\Models\Master_lookup; 

class MasterLookupsTableSeeder extends Seeder 
{ 
    public function run() 
    { 
     $i=1; 
     Akun::all()->each(function($akun) { 
      $masterLookup = new Master_lookup; 
      $masterLookup->id   = $i; 
      $masterLookup->parent_id = NULL; 
      $masterLookup->code   = $akun->kdakun; 
      $masterLookup->name   = $akun->nmakun; 
      $masterLookup->type   = 'akun'; 
      $masterLookup->information = json_encode($akun->kdjenbel); 
      $masterLookup->save(); 
      $i++; 
     }); 
    } 
} 

、エラーが存在していますか?

答えて

1

下記のいずれかを試してみてください: クラス変数を作成し、それを使用する:

私の意見を基に
<?php 

use Illuminate\Database\Seeder; 
use Illuminate\Database\Eloquent\Model; 
use App\Models\Akun; 
use App\Models\Master_lookup; 

class MasterLookupsTableSeeder extends Seeder 
{ 
    public $i; 
    public function run() 
    { 
     $this->i = 1; 
     Akun::all()->each(function($akun) { 
      $masterLookup = new Master_lookup; 
      $masterLookup->id   = $this->i; 
      $masterLookup->parent_id = NULL; 
      $masterLookup->code   = $akun->kdakun; 
      $masterLookup->name   = $akun->nmakun; 
      $masterLookup->type   = 'akun'; 
      $masterLookup->information = json_encode($akun->kdjenbel); 
      $masterLookup->save(); 
      $this->i++; 
     }); 
    } 
} 

、クラス変数は、これに対処する方法があります。

+0

ありがとうございました。最初の方法は、それは働いた。しかし、2番目の方法は動作していません –

0

匿名関数を使用する場合は、そのような変数を使用言語構文に渡す必要があります。 は、あなたはこの1つを試すことができます:

Akun::all()->each(function($akun) use ($i) { 
     $masterLookup = new Master_lookup; 
     $masterLookup->id   = $i; 
     $masterLookup->parent_id = NULL; 
     $masterLookup->code   = $akun->kdakun; 
     $masterLookup->name   = $akun->nmakun; 
     $masterLookup->type   = 'akun'; 
     $masterLookup->information = json_encode($akun->kdjenbel); 
     $masterLookup->save(); 
     $i++; 
    }); 
関連する問題