php - 如何在 foreach 迁移表中使用计数器? (拉拉维尔 5.3)

标签 php laravel foreach counter 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()
    {
        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)

有没有人可以帮助我?

最佳答案

不要手动添加id。 ID 应为 AUTO INCREMENT,以便 DB 可以自动增加它。迁移中的id应该这样定义:

$table->increments('id');

更新

如果出于某种原因不想使用 increments(),只需使用这个:

$masterLookup->id = $key;

这应该可行,因为您正在迭代 Eloquent 集合,所以 key 是唯一的。

关于php - 如何在 foreach 迁移表中使用计数器? (拉拉维尔 5.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41357395/

相关文章:

php - Laravel 5.1 Ajax 调用 'Like' 系统没有发生

php - mysql_real_escape_string 和 implode()

php - 此功能是否有任何日期/时间可能会中断?

java - 使用包含或循环遍历列表之间有什么大的区别吗?

javascript - 如何测试 forEach 调用 savePost 三次?

php - 更新或插入方法中的 Doctrine 2 DBAL 表达式

javascript - 当没有行与搜索输入匹配时,如何隐藏表的 <thead> 元素? - JavaScript

php - Laravel 上的凭证

angular - 如何同时实现 Laravel 5.5 和 Angular 4 项目?

php - 在foreach里面查询可以吗?