小编典典

Cakephp:如何使用迁移插入记录

sql

我正在使用CakePHPv3.x,并且试图弄清楚如何通过迁移工具插入一些记录。该文档仅列出了用于修改架构的方法。我是否需要使用原始SQL手动插入记录?


阅读 244

收藏
2021-04-07

共1个答案

小编典典

CakePHP 3的Migration插件是Phinx包装器插件,因此可以使用以下up()方法添加记录:

public function up() {
    // Save records to the newly created schema
}

public function down() {
    // Remove records
}

例如,你可以使用添加新用户TableRegistryup: -

public function up() {
    // Save records to the newly created schema
    $UsersTable = TableRegistry::get('Users');
    $user = $UsersTable->newEntity();

    $user->name = 'Joe Bloggs';
    $user->email = 'joe@example.com';

    $UsersTable->save($user);
}

如果使用,TableRegistry请不要忘use Cake\ORM\TableRegistry;了在迁移文件的顶部添加。

对于CakeDC的Migration插件,您可以使用回调在相关迁移文件中插入记录:-

public function after($direction) {
    if ($direction === 'up') {
        // Save records to the newly created schema
    } elseif ($direction === 'down') {
        // Remove records
    }
}

注意:如果您使用的是Postgres驱动程序,则当前存在一个错误,需要一个较小的解决方法才能完成此工作。

2021-04-07