cakephp 3:bake 添加了不需要的规则“$rules->isUn​​ique(['email'])”

cakephp 3: bake adds undesired rule "$rules->isUnique(['email'])"

我正在烘焙一个 table 来保存我的客户的所有登录尝试,由于某种原因,烘焙命令添加了这条规则。

$rules->isUnique(['email'])

这是不需要的,因为我想保存每次登录尝试期间发送的所有数据。

我花了一段时间才找到为什么当我试图用同一封电子邮件保存多条记录时出现错误。在我的数据库中,此字段未标记为唯一,但 Bake 决定应用该规则。问题是这是否是一个错误,或者是否有一种设计方法可以避免这种不良行为。

这种为恰好具有名称 email 的字段添加 $rules->isUnique() 的烘焙行为是 "feature"。 (但是当您希望电子邮件是唯一的时,这会很烦人。)

恭喜您解决了您的问题!

最好的解决方案是注释掉 XXXsTable.php 文件中有问题的代码行 - 或者如果您确定永远不需要它,只需删除该行即可。

将字段名称更改为不同于 email 的名称可能不是一个好主意,因为您最初选择该名称可能有充分的理由。

请记住,bake 创建的所有文件只是一个起点,您可能需要对它们进行大量编辑才能实现您的应用程序。