如何在Cakephp 3.3迁移中设置外键约束?

Amr*_*ngh 1 mysql cakephp database-migration phinx

我是Cakephp的新手,并使用Cakephp3.3构建应用程序,我正在进行迁移,我必须创建一个user_infos表,并且想要添加一个新列user_id,我能够通过迁移添加新列但我不知道如何添加外键.

这是我的迁移文件

    public function change()
    {
        $table = $this->table('user_infos');
        $table->addColumn('user_id', 'integer', [
            'default' => null,
            'limit' => 11,
            'null' => false,
        ]);
        $table->addColumn('title', 'string', [
            'default' => null,
            'limit' => 255,
            'null' => false,
        ]);
        $table->addColumn('created', 'datetime', [
            'default' => null,
            'null' => false,
        ]);
        $table->addColumn('modified', 'datetime', [
            'default' => null,
            'null' => false,
        ]);
        $table->create();
    }
Run Code Online (Sandbox Code Playgroud)

小智 5

您的迁移似乎基于Phinx; 你可以找到相关的方法Phinx\Db\Table.加

->addIndex(['user_id'])
->addForeignKey('user_id', 'users', 'id')
Run Code Online (Sandbox Code Playgroud)

迁移到users表上的约束.