To expand on jason's comment, adding a call to getAdapter() should fix it.

$contactPersonId = $dbAdvertiserPerson->getAdapter()->lastInsertId();



jasonistaken wrote:
> 
> The insert() method of Zend_Db_Table returns the new primary key for the
> row.
> The lastInsertId() method only exists of Zend_Db_Adapter classes, not the
> Table class.
> 
> On 27/02/2009 12:30 PM, Bob O wrote:
>> FYI..all 3 tables have auto_incrementing id fields that are PK's
>> and when all parts pertaining my problem
>>
>> i am able to submit all of the other information correctly..
>>
>>
>>
>> Bob O wrote:
>>> Im having a heck of a time with this one..I have searched high and low,
>>> and what has seemed to be a remedy isnt working for me..
>>>
>>> any help would be great
>>>
>>> I have 1 form and 3 tables that i submit to with 1 post.
>>> These tables are joined by ids
>>>
>>> here is my code
>>>
>>>      public function createAdvertiser($values, $resellerId)
>>>      {
>>>        $now = time();
>>>        $niceName =
>>> FonRoots_Utilities::toNiceString($values['advertName']);
>>>
>>>        $personData = array('id' =>  null,
>>>                            'username' =>  $values['username'],
>>>                            'status' =>  $values['status'],
>>>                            'role' =>  $values['role'],
>>>                            'first_name' =>  $values['first_name'],
>>>                            'last_name' =>  $values['last_name'],
>>>                            'email' =>  $values['person_email'],
>>>                            'title' =>  $values['job_title'],
>>>                            'address' =>  $values['personAddress1'],
>>>                            'address2' =>  $values['personAddress2'],
>>>                            'city' =>  $values['personCity'],
>>>                            'state' =>  $values['personState'],
>>>                            'country' =>  $values['personCountry'],
>>>                            'postal_code' => 
>>> $values['personPostalCode'],
>>>                            'area_code' =>  $values['personAreaCode'],
>>>                            'phone' =>  $values['personPhone'],
>>>                            'cell_area_code' =>
>>> $values['personCellAreaCode'],
>>>                            'cell_phone' =>  $values['personCellPhone'],
>>>                            'date_created' =>  $now
>>>                        );
>>>        $dbAdvertiserPerson = new Person();
>>>        $dbAdvertiserPerson->insert($personData);
>>>
>>> <-- My code breaks here..The Person is added
>>>        $contactPersonId = $dbAdvertiserPerson->lastInsertId();<-- I dont
>>> think this is working?
>>>
>>>
>>>        $locationData = array('id' =>  null,
>>>                              'address' =>  $values['locationAddress1'],
>>>                              'address2' =>  $values['locationAddress2'],
>>>                              'city' =>  $values['locationCity'],
>>>                              'state' =>  $values['locationState'],
>>>                              'country' =>  $values['locationCountry'],
>>>                              'postal_code' =>
>>> $values['locationPostalCode'],
>>>                              'area_code' => 
>>> $values['locationAreaCode'],
>>>                              'phone' =>  $values['locationPhone'],
>>>                              'hours_of_operation' =>
>>> $values['hoursOfOperation'],
>>>                              'date_created' =>  $now
>>>                        );
>>>
>>>        $dbAdvertiserLocation = new Location();
>>>        $dbAdvertiserLocation->insert($locationData);
>>>        $locationId = $dbAdvertiserLocation->lastInsertId();
>>>
>>>        $advertiserData = array('id' =>  null,
>>>                                'advertiser' =>  $values['advertName'],
>>>                                'nice_name' =>  $niceName,
>>>                                'contact_person_id' => 
>>> $contactPersonId,<--
>>> Trying to return an id here
>>>                                'location_id' =>  $locationId,<-- Trying
>>> to
>>> return and here
>>>                                'reseller_id' =>  $resellerId,
>>>                                'date_created' =>  $now,
>>>                                'short_description' =>
>>> $values['shortDescription'],
>>>                                'long_description' =>
>>> $values['longDescription'],
>>>                                'url' =>  $values['advertiserURL'],
>>>                                'logo_url' =>  $values['logo'],
>>>                                'date_created' =>  $now
>>>                        );
>>>
>>>                    $dbAdvertiser = new Advertiser();
>>>                    $dbAdvertiser->insert($advertiserData);
>>>      }
>>>
>>>
>>
>>
>> -----
>> Bob Hanson
>> Web Developer
>> SLC, UT
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/lastInsertId%28%29-tp22253546p22313403.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to