我的代码是这样的:
<?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();
}
}
}
我使用索引$key
来反击
但执行时,存在错误:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Parse error: syntax error, unexpected '$masterLookup' (T_VARIABLE)
有没有人可以帮助我?
答案 0 :(得分:3)
请勿手动添加id
。 ID应为AUTO INCREMENT
,因此DB可以自动增加它。迁移中的id
应该像这样定义:
$table->increments('id');
<强>更新强>
如果您因某些原因不想使用increments()
,请使用此功能:
$masterLookup->id = $key;
这应该有效,因为您正在迭代Eloquent集合,因此key
是唯一的。
答案 1 :(得分:0)
在您的代码中,您没有在行尾添加半列。
$masterLookup->id = ++$key;
在行尾使用半列(;)。