Welcome Guest, Not a member yet? Register   Sign In
Hot to get ID of record inserted using model "save()" method
#1

(This post was last modified: 11-20-2019, 09:05 AM by RobT.)

Hi guys,
I need to get (automatically generated) ID of record inserted in db using model "save()" method.

PHP Code:
$product = new Product();

if (
$product->save($this->request->getPost()))
{
    echo $ID// <-- how do I get it?


I know the model contains a shared instance of Query Builder but I can't access "db->insertID()" because "db" is a protected property.
Any help?
Thanks.
Reply
#2

(This post was last modified: 11-20-2019, 09:54 AM by MGatner.)

save() doesn't return the ID but insert() does (comment in Model.php actually notes "call insert directly if you want the ID or the record object"). If you must use save you can use the query helper method "$db->insertID()"
https://codeigniter4.github.io/userguide...lpers.html

Oops, just read your final comment! You should be able to access $model->db because the model class has a magic __get() method to pass through.
Reply
#3

(11-20-2019, 09:53 AM)MGatner Wrote: Oops, just read your final comment! You should be able to access $model->db because the model class has a magic __get() method to pass through.

Unfortunately it doesn't seem accessible.
Reply
#4

What version of the framework are you on? This was change 9/30 to allow accessing protected properties:

https://github.com/codeigniter4/CodeIgni...274120e2c3
Reply




Theme © iAndrew 2016 - Forum software by © MyBB