如何从 Phinx 迁移插入中访问自动生成的 ID?

How to access the auto-generated ID from a Phinx migration insert?

PHP Phinx 是来自 CakePHP 的数据库播种器/迁移库。

这将创建一个假用户,但我如何创建一个行,该行具有对该新用户(即子用户)的 idFOREIGN KEY(或常规 ID 引用) ?

<?php

use Phinx\Seed\AbstractSeed;

class UserSeeder extends AbstractSeed
{
    public function run()
    {
        $faker = Faker\Factory::create();
        $data = [];
        for ($i = 0; $i < 100; $i++) {
            $data[] = [
                'username'      => $faker->userName,
                'password'      => sha1($faker->password),
                'password_salt' => sha1('foo'),
                'email'         => $faker->email,
                'first_name'    => $faker->firstName,
                'last_name'     => $faker->lastName,
                'created'       => date('Y-m-d H:i:s'),
            ];
        }

        $this->insert('users', $data);
    }
}

这应该 return 相当于 SELECT LAST_INSERT_ID():

$this->getAdapter()->getConnection()->lastInsertId();

参考:https://github.com/cakephp/phinx/issues/819