我目前正在建设,分别有两种型号,捐助者和捐赠管理模型的Web应用程序。它有多个用户角色。当员工用户首次登记捐赠者,我希望他被重定向到另一种形式,让他填写的捐款的详细信息(供体被注册,一旦第一笔捐款是成功的)。CakePHP - 控制器还是无控制器?
杉杉的是,我应该创建一个捐赠控制器,从中我会使用用户重定向:
return $this->redirect(array('controller'=>'donations','action'=>'add'));
对于上述工作,它要求我保存新登记的捐献者的ID在会话像这样:
$this->Session->write('id', $this->Donor->id);
因此,用户会被重定向到“捐款/添加”中的URL,这工作得很好。但是我觉得这有一些缺陷。我徘徊是否应该在Donor控制器内创建另一个名为'add_donation'的操作,该操作将具有其各自的'View'。这个想法是能够形成这样一个url:'donors/add_donation/4'(4是donor_id!) 这个URL遵循这个构造:'controller/action/id'
如果有人可以脱落一些关于最佳实践的信息,或者描述我的解决方案(前者,使用会话等)的任何警告,请帮助兄弟出来!我非常感激你!提前致谢!
你正在使用哪个版本的Cake,为什么你给他们三个贴上标签? –
它更可能得到答复(更多追随者)。虽然我当前的版本是5.4.12 ..对不起,如果这是一个不适当的事情,但我绝望在这里! – LogixMaster
@ user2678538只需添加一个额外支票 - 当您使用: ''donors/add_donation/4'(4为donor_id!)'将传递的'donor_id'与'Session-> Auth'中的值进行比较,以便欺骗捐赠者是不可能的。 :D 只有当用户登录后才有可能! 或者更好的是,从'$ this-> Auth-> user();' –