Wie bekomme ich die letzte ID in CakePHP?

7

Ich verwende Abfrage in CakePHP

%Vor%

Wie bekomme ich die letzte ID dieser Abfrage in cakephp? Bitte um Rat.

    
Jaiprakash Singh 20.12.2013, 09:37
quelle

11 Antworten

18

Wenn es keinen bestimmten Grund gibt.

Sie sollten

verwenden %Vor%

um die Daten einzufügen. Dann können Sie

verwenden %Vor%

um die letzte eingefügte ID zu erhalten.

    
XuDing 20.12.2013 10:11
quelle
10

In fast allen Fällen sollten Sie die Modellmethode verwenden, um Ihre Datenbank abzufragen.

Model::query() existiert, um komplexe Abfragen auszuführen, die komplexer sind als die Verwendung der Modellmethoden oder in einigen Fällen, wenn Sie nicht die Wahl haben.

In Ihrem Fall ist das sehr nützlich, weil Model::save() im Framework eine Callback-Funktion ausführt, die das Attribut Model::id für Sie festlegt.

So erlauben Sie es, es sofort zurückzubekommen:

%Vor%
  

VORSICHT!

     

Auf der anderen Seite und wie von anderen Antworten gesagt, gibt es die folgende Methode:

%Vor%      

Aber Sie müssen mit dieser Methode sehr vorsichtig sein und Sie sollten es nicht in diesem Fall verwenden weil es die LETZTE eingefügt , aber NICHT die letzte, die Sie gerade in die vorherige Code-Anweisung eingefügt haben!

     

Wenn ein Benutzer (während einer anderen gleichzeitigen Anforderung auf dem Server) Daten zwischen save() und getLastInsertId() speichert, gibt er den Wert dieses zweiten Benutzers zurück!

     

THUS, die folgenden Antworten sind BAD Antworten für diesen Anwendungsfall :

     
    
Rémi Becheras 12.06.2014 15:10
quelle
4
%Vor%

Sie können die letzte Einfüge-ID durch dieses

erhalten     
Manish Patel 20.12.2013 09:42
quelle
4

Verwenden Sie die Option orderby desc in CakePHP.

%Vor%     
Vivek S 20.12.2013 18:21
quelle
3

Sie können versuchen:

%Vor%     
Indrajeet Singh 05.06.2014 11:37
quelle
2

Sehr einfach. Mach es einfach.

%Vor%     
Rodrigo Almeida 13.06.2016 12:22
quelle
2

Versuchen Sie es

%Vor%     
Sunil kumar 13.06.2016 12:39
quelle
0
%Vor%

Das sollte funktionieren, aber ich denke, es ist besser, wenn Sie eine Beziehung zwischen menus und frd_menus erstellen und save function

verwenden     
arilia 20.12.2013 10:16
quelle
0

In CakePHP 3.x können Sie Folgendes tun:

%Vor%     
CodeWhisperer 05.07.2017 13:36
quelle
-1
%Vor%

Sie können auch die Modellfunktion verwenden, aber unter dem Code wird die zuletzt eingefügte ID des Modells mit dem angegebenen Modellnamen zurückgegeben. In diesem Beispiel werden die Menümodelldaten zurückgegeben

%Vor%     
Md.Jewel Mia 26.04.2015 07:02
quelle
-1

Nachfolgend finden Sie die Optionen:

%Vor%

ODER

%Vor%

ODER

%Vor%

Hier können Sie die Registrierung durch Ihren Modellnamen ersetzen.

Hinweis: Diese Funktion funktioniert nicht, wenn Sie die Einfüge-Abfrage manuell ausführen

Danke

    
Aditya P Bhatt 16.03.2016 12:09
quelle

Tags und Links