我的代码是这样的:

<?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()
    {
        foreach (Akun::all() as $key => $value) {
            $masterLookup = new Master_lookup;
            $masterLookup->id           = ++$key
            $masterLookup->parent_id    = NULL;
            $masterLookup->code         = $value->kdakun;
            $masterLookup->name         = $value->nmakun;
            $masterLookup->type         = 'akun';
            $masterLookup->information  = json_encode($value->kdjenbel);
            $masterLookup->save();
        }
    }
}

我使用index$key来反击
但执行时存在错误:
[Symfony\Component\Debug\Exception\FatalThrowableError]
  Parse error: syntax error, unexpected '$masterLookup' (T_VARIABLE)

有人能帮我吗?

最佳答案

不要手动添加id。id应该AUTO INCREMENT,所以db可以自动增加它。id在迁移中的定义应如下:

$table->increments('id');

更新
如果出于某种原因不想使用increments(),请使用以下命令:
$masterLookup->id = $key;

这应该可以工作,因为您正在遍历雄辩的集合,所以key是唯一的。

09-11 19:24