• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hot to get ID of record inserted using model "save()" method

#1
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
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


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.