Dev: Make getInsertID() more consistent with save()
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
Direzione di ricerca
Leggi il thread del forum, quindi confronta il comportamento di System Model per save(), insert(), update() e getInsertID(). Conferma la semantica prevista dell'ID interessato prima di modificare qualsiasi cosa; il lavoro è completato quando save() espone in modo coerente l'ID previsto sia per il percorso di inserimento sia per quello di aggiornamento, con una copertura per ciascun percorso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- PHP
- Stelle
- 6k
- Fork
- 2k
- Merge medio
- 1g 22h
- PR unite (30g)
- 59
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di codeigniter4/CodeIgniter4
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
codeigniter4/CodeIgniter4#10616 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
codeigniter4/CodeIgniter4#10618 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
codeigniter4/CodeIgniter4#10617 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
codeigniter4/CodeIgniter4#10615 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
codeigniter4/CodeIgniter4#10589 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di codeigniter4/CodeIgniter4
Issue simili
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Refund Analytics Tool — “Check” Button Fails to Render in WooCommerce 11.2.1Forse già presa @MinhazI l’ha presa oggi. ApertaBug Reports/Analytics type: community contribution
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
woocommerce/woocommerce#69689 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100
I maintainer di solito rispondono entro 2 giorni