Get the last insert id

cakephp, cakephp-1.3, php

Solution

When you use `query()` you loose a lot of automagic cakephp provides. Use `save()` instead.

In fact, you even do not need to load Contact in this case. You can execute any query from the current controller with `query()` even saving to any other table.

You can also avoid using `loadModel()` if your current model is somehow associated with Contact (`$this->CurrentModel->AnotherOne->Contact->save(...)`).

Problem

Hello I am using cakePHP 1.3 and I am unable to retreive the last inserted row's id. I actually am using $this->Model->id to retreive the last inserted id but I am unable to get the id. When tried to check what is return type, it says as bool(false), which means nothing is returned. Here I am loading a different model in a different controller, so would that be the issue?? But even though I am loading, I get back nothing!! ``` $this->loadModel('Contact'); $this->Contact->query("insert into contacts(tblContact_firstName,tblContact_lastName,tblContact_company,tblContact_department,tblContact_address,tblContact_country,tblContact_city,tblContact_state,tblContact_zipcode,tblContact_phone1,tblContact_email1) values('$sanitizedFormData[fname]','$sanitizedFormData[lname]','','$sanitizedFormData[company]','$sanitizedFormData[address]','$sanitizedFormData[country]','$sanitizedFormData[city]','$sanitizedFormData[state]','$sanitizedFormData[zip]','$sanitizedFormData[phone]','$sanitizedFormData[email]');"); $this->loadModel('Contact'); $contactId = $this->Contact->id; ``` And when I printed the $this->Contact array recursively, I found the value of "id" key empty. So that explains why I was receiving an empty value. Now given my situation, how would I get the last inserted id, specific to the controller Contact?

Original source