Dev: Make getInsertID() more consistent with save()
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 38/100
Direção de pesquisa
Leia a thread do fórum e, em seguida, compare o comportamento de save(), insert(), update() e getInsertID() do System Model. Confirme a semântica pretendida do ID afetado antes de alterar qualquer coisa; considera-se concluído quando save() expõe consistentemente o ID esperado tanto para o caminho de inserção quanto para o de atualização, com cobertura para cada caminho.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- PHP
- Estrelas
- 6k
- Forks
- 2k
- Merge médio
- 1d 22h
- PRs com merge (30d)
- 59
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de codeigniter4/CodeIgniter4
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
codeigniter4/CodeIgniter4#10616 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
codeigniter4/CodeIgniter4#10618 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
codeigniter4/CodeIgniter4#10617 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
codeigniter4/CodeIgniter4#10615 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
codeigniter4/CodeIgniter4#10589 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de codeigniter4/CodeIgniter4
Issues semelhantes
-
sync-en
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
sync-en
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 4 dias
-
Перевод устарел
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
-
bug
Dificuldade 2/5 Meio dia Facilidade para iniciantes 76/100
m3ue/m3u-editor#1604 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
femiwiki/docker-mediawiki#1497 ·
Mantenedores costumam responder em até 1 dia