Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF]Odczyt pola auto increment
Forum PHP.pl > Forum > PHP > Frameworki
johnyMajster
Witam serdecznie
Mam tabelę:

Tabela
id|jakiesPole|

Dokonuję inserta

$Tabela->insert(array('jakiesPole' =>'Cos'))

W tabeli zostaje wpisene 'Cos' oraz ustawiona pewna wartosc id poniewaz id jest autoincrement

Czy po insercie mogę jakos łatwo odczytac jaką wartosc przyjeło id?questionmark.gif?
Zakładam ze po moim insercie inni uzytkownicy robili równiez inserty wiec nie moge odczytac wprost ostatniej wartosci
karolrynio
Jeśli $Tabela jest obiektem klasy która dziedziczy z Zend_Db_Table_Abstract:

  1. $id = $Tabela->insert(array('jakiesPole' =>'Cos'));

johnyMajster
Jestes pewien ze tak nie otrzymam poprostu liczby insertowanyvh wierszy?questionmark.giftongue.gif

Jest cos takiego jak lastInsertId() ale boje sie tego uzywac. Bo funkcja ta zwraca ostatnie id z biezącego połączenia. Nie wiem dokładnie kiedy to połączenie się kończy a kiedy zaczyna
karolrynio
Fragment klasy Zend_Db_Table_Abstract
  1. /**
  2.   * Inserts a new row.
  3.   *
  4.   * @param array $data Column-value pairs.
  5.   * @return mixed The primary key of the row inserted.
  6.   */
  7. public function insert(array $data)
  8. {
  9. /// ...
  10. }


Z dokumentacji wynika, że zwraca id wstawionego rekordu. Ja tak używam i nie miałem problemów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.