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

Codeigniter 4 saving inserted id from first table into second table

我正在尝试将我的数据保存到 2 table 秒。我有 2 tables,团队和成员。队长添加团队后(会保存在teamstable中),他的用户id和团队id(由teamstable生成)会保存在memberstable.

我的目的是,一旦用户创建了一个团队,他的用户 ID 将自动包含在成员中 table。

我面临的问题是团队 ID 被保存为 0。现在我只能考虑在执行插入团队 table 查询后获取 return 团队 ID ,然后使用 return 结果执行插入成员 table 查询。有更好的方法吗?如果是这样,我应该怎么做?如果不行,我也该怎么做?

下面是我当前的代码:

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);