codeigniter4 / codeigniter4/CodeIgniter4

Dev: Make getInsertID() more consistent with save()

未关闭
#9,233 4 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
PHP
星标
6k
派生
2k
平均合并
1 天 11 小时
30 天内合并 PR
73

描述

### PHP Version

8.2, 8.3

### CodeIgniter4 Version

latest

### CodeIgniter4 Installation Method

Composer (using `codeigniter4/appstarter`)

### Which operating systems have you tested for this bug?

macOS, Linux

### Which server did you use?

fpm-fcgi

### Database

MaraiaDB

### What happened?

Not exactly a bug, but not really a FR either. See this forum thread: https://forum.codeigniter.com/showthread.php?tid=91800&pid=421782#pid421782

Essentially I'm offering to PR a change to `\System\Model::update()` that would set an instance's `$insertID` property the same way `\System\Model::insert()` does so that the behaviour of `save()` is more consistent.

Currently `\System\Model::getInsertID()` only returns a value if a `save()` does an insert. The logic needed to handle that works against the elegance provided by `save()`.

### Steps to Reproduce

Use `\System\Model::save()`

### Expected Output

Best case, `\System\Model::getInsertID()` will return the "affected ID" after `\System\Model::save()` regardless of which action occurred.

### Anything else?

I'm stoked contribute to core, but I didn't want to spend the time on a PR if there is no desire to change this behaviour. Please advise.

I can write the update to the docs too if I'm pointed in the right direction to do so.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。