我的应用程序是在CakePHP 3.x中开发的。
我使用CakedDC Users插件,它工作正常,除非用户想要更改密码,然后点击提交。
假设我们的个人资料ID = 52606b3f-c72d-4485-9c76-3b0f8
“编辑”页面有一个这样的网址:
本地主机/ my_app应用/简档/ 52606b3f-c72d-4485-9c76-3b0f8
changePassword页面有一个这样的网址:
localhost / my_app / users / users / change-password / 52606b3f-c72d-4485-9c76-3b0f8
当我点击提交时,它会重定向到个人资料页面,但ID会丢失:
localhost / my_app / profile
我收到此错误消息:
使用主键[NULL]
在表“users”中找不到记录
我认为原因是ID没有通过。我找不到在哪里以及如何解决它。
请帮忙吗?。
答案 0 :(得分:1)
当未传递id时,将从登录用户中获取id。你可以看一下src / Controller / Traits / ProfileTrait.php。你可以调试$ this-> Auth-> user('id')?
此外,您可以在更改密码后自定义重定向网址。配置:: write('Users.Profile.route',[{url}]),参见src / Controller / Traits / PasswordManagementTrait.php Ln44。
答案 1 :(得分:0)
我不记得我的初始代码,但几个月后,我找到了解决方案。
在src / Controller / Traits / ProfileTrait.php中,设置 $ redirect = Configure :: read(' Users.Profile.route');
def length_inches(x):
if x is not None:
return int(x)*12