我需要有关使用cakephp生成主键的答案

时间:2019-07-17 14:14:56

标签: php cakephp

在Cakephp3中可以使用Cakephp3生成没有主键的表吗?

错误:无法为没有主键的模型生成视图。

1 个答案:

答案 0 :(得分:1)

  

Phinx自动为每个表创建一个称为ID的自动递增主键列。

id选项设置自动创建的标识字段的名称,而primary_key选项选择用于主键的一个或多个字段。 id除非设置为false,否则它将始终覆盖primary_key选项。如果不需要在不指定primary_key的情况下将主键ID设置为false,则不会创建主键

要指定备用主键,可以在访问Table对象时指定primary_key选项。让我们禁用自动ID列,并改为使用两列来创建主键:

阅读: https://book.cakephp.org/3.0/en/phinx/migrations.html#creating-a-table

 /**
 * Migrate Up.
 */
public function up()
{
    $table = $this->table('followers', ['id' => false]);
    $table->addColumn('user_id', 'integer')
          ->addColumn('follower_id', 'integer')
          ->addColumn('created', 'datetime')
          ->save();
}