CakePHP 3 - 保存功能不为数据库生成主键
CakePHP 3 - Save function not generating primary key for database
我有一个正在使用 Cake 3 的应用程序,由于我是 Cake 的新手,我已经烘焙了很多东西以了解这片土地。
当转到我的一个模型的烘焙添加视图、填写表单并提交时,条目已添加到数据库中,但条目上的主键为空。我一直在做一些研究,在 Cake 的 table class 中,我知道它应该在保存方法期间创建。但是,我没有覆盖保存或类似的东西,所以我有点困惑为什么它没有为主键生成 ID 字段。
我希望有人能够为我指明正确的方向,让我采取一些可能有助于我调试此问题的步骤。谢谢!
来自Cookbook 3.x:
Rather than using an auto-increment key as the primary key, you may also use char(36)
. CakePHP will then use a unique 36 character UUID (Text::uuid
) whenever you save a new record using the Table::save()
method.
尝试将 id
中的 MySQL 字段从
转换为 table
VARCHAR(36)
到
CHAR(36)
我有一个正在使用 Cake 3 的应用程序,由于我是 Cake 的新手,我已经烘焙了很多东西以了解这片土地。
当转到我的一个模型的烘焙添加视图、填写表单并提交时,条目已添加到数据库中,但条目上的主键为空。我一直在做一些研究,在 Cake 的 table class 中,我知道它应该在保存方法期间创建。但是,我没有覆盖保存或类似的东西,所以我有点困惑为什么它没有为主键生成 ID 字段。
我希望有人能够为我指明正确的方向,让我采取一些可能有助于我调试此问题的步骤。谢谢!
来自Cookbook 3.x:
Rather than using an auto-increment key as the primary key, you may also use
char(36)
. CakePHP will then use a unique 36 character UUID (Text::uuid
) whenever you save a new record using theTable::save()
method.
尝试将 id
中的 MySQL 字段从
VARCHAR(36)
到
CHAR(36)