我遇到一个问题,需要保存一些关于用户创建的特定数据,并且不确定如何处理它。
我有三个模型,用户,投资组合和账户。用户hasOne Portfolio,Portfolio hasMany Account。我正在尝试弄清楚如何在创建用户时保存帐户数据。但这并不是它结束的地方。
目前,在创建用户时,还会在成功创建用户后创建项目组合。在UsersController.php文件中使用这3行:
if ($this->User->save($this->request->data['User'])) {
$this->request->data['Portfolio']['user_id'] = $this->User->id;
if ($this->User->Portfolio->save($this->request->data['Portfolio'])) {
帐户表格相当微弱,ID,portfolio_id,货币和金额。在用户创建时,需要将多行添加到帐户表中,我们支持的每种货币都有一行(目前为2,可能会更晚),每行可能有不同的金额。
我的问题有两方面,首先,我如何在用户注册表单中创建这些新数据?第二,成功创建用户后我该怎么办?
我承认我还没有对此进行过多的研究,因为我甚至不知道该搜索什么会发现这个问题。如果您需要更多信息,请直接询问,我将编辑此帖子以供应。
编辑: 在遵循使用saveAll保存所有数据和相关数据的建议之后,我遇到了另一个问题。我的投资组合表是目前苗条的定义。现在,它只拥有一个user_id,并且它就是它。因此,当我运行保存操作时,request->数据数组中没有数据表示需要保存Portfolio,因为需要保存的唯一数据来自user_id,而user_id只能在用户之后获取已创建。