用id创建记录

时间:2018-04-20 17:10:52

标签: mysql database laravel laravel-5

我需要从其他数据库导入数据并将其传输到新数据库。但是关系需要成员的身份信息。我也要带它们。 因此,我必须填写ID列,该列增加为AUTOINCREMENT。

我的迁移控制器

 public function migrate(BackupUser $buser, User $user)
            {
                $backup_user = $buser->get();

                foreach ($backup_user as $bulk) {
                    $user->create([
                        'id'         => $bulk->uye_id,
                        'name'       => $bulk->uye_nick,
                        'email'      => $bulk->uye_mail,
                        'password'   => $bulk->uye_sifre,
                        'created_at' => $bulk->uye_tarih
                    ]);
                }
            }

当我这样做时,AUTOINCREMENT正常增加,我无法获得以前成员的ID信息。

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

我认为你正试图将数据库从joomla或wordpress带到laravel。

如果我需要这样做。我的方法是首先存储没有id的所有基表,然后将插入后生成的存储id存储在相关表中。所以步骤将是

  S1:  store new `user` and get `id`
  S2:  relate with other table like `role` with `user_id`
  Loop again till last row

答案 1 :(得分:0)

默认情况下,id的{​​{1}}字段无法像您一样通过质量分配进行填充。如果要分配它,则必须将User添加到用户类的可填写字段数组中。

应用程序/ user.php的

'id'