2009-11-05 16 views
6

jak mogę uzyskać wstawiony id, kiedy wstawiam rekord w ten sposób, używając cakephp $ this-> query ("wstaw do [nazwa tablicy] ([colname]) wartości ([colvalue]);

+3

Dlaczego nie używasz wbudowanej metody save() cakephp? – kouak

Odpowiedz

3

Zakładając, że używasz MySQL można wykonać następujące zapytanie po zrobiłeś wkładkę:

$array_with_id = $this->query('select last_insert_id() as id;');

Ale jak wspomniano przez kouak, zwykły sposób, aby wstawić dane mają użyj metody save() .Jeśli użyjesz tej metody, identyfikator wstawionego rekordu będzie automatycznie dostępny w własności $ id f odpowiedni model.

3

Jeśli używasz metody save() można uzyskać identyfikator tak:

$this->Model->save($data); 
$id = $this->Model->id; 
2

model klasy Cake posiada funkcję, która dostaje ostatnio wstawionego ID:

$this->Model->getLastInsertID() 

linii 2584 w folderze {project-} /cake/libs/model/model.php

0

Proszę używać tej metody do dostać ID ostatnio wstawionego w cakephp2

$data['yourModelName']['yourTableField'] = POstdata 
$data['yourModelName']['yourTableField'] = time(); 
$data['yourModelName']['yourTableField'] = 1; 
$data['yourModelName']['yourTableField'] = time(); 

$this->yourModelName->create(); 
$this->yourModelName->save($data,false); 
$sessionInserted_id = $this->yourModelName->getInsertID(); 
Powiązane problemy