Codeigniter 4将插入的ID从第一个表保存到第二个表

问题描述

我正在尝试将数据保存到2个表中。我有2个桌子,团队和成员。团队负责人添加团队后(将保存在“团队”表中),其用户ID和团队ID(由“团队”表生成)将存储在“成员”表中。

我的目的是,一旦用户创建了一个团队,他的用户ID就会自动包含在members表中。

我面临的问题是将团队ID保存为0。现在,我只能想到在执行插入团队表查询之后,使用返回结果。有更好的方法吗?如果是这样,我该怎么办?如果没有,我也应该怎么做?

下面是我当前的代码

Table teams
team_id | game_id | leader_user_id
5       | 1       | 1
6       | 1       | 1
7       | 2       | 1
8       | 2       | 1   

Table members
team_id | user_id
0       | 1         

控制器

$model = new TeamsModel();
                
$newData = [
    'game_id' => $this->request->getvar('game_id'),'leader_user_id' => session()->get('user_id')
];

$members = new MembersModel();

$includeleader = [
    'user_id' => session()->get('user_id'),'team_id' => $team_id
];

$model->save($newData);

$members->save($includeleader);

谢谢大家!

解决方法

设法找出如何使用insertID()解决问题。以防将来参考。

$model = new TeamsModel();
                
$newData = [
    'game_id' => $this->request->getVar('game_id'),'leader_user_id' => session()->get('user_id')
];

$model->save($newData);

$team_id = $model->insertID();

$members = new MembersModel();

$includeLeader = [
    'user_id' => session()->get('user_id'),'team_id' => $team_id
];

$members->save($includeLeader);