Heim > Artikel > Backend-Entwicklung > Liste der CURD-Methoden und Abfragemethoden von ThinkPHP
Der sogenannte CURD. Das heißt, die vier Grundoperationen (CURD) von Datenbankoperationen: C:create (erstellen), U:update (aktualisieren), R:read (lesen) und D:detele (löschen).
In ThinkPHP haben Methoden nicht unbedingt diese Namen. Hier sind die gängigen Methoden: Auswählen, Suchen, Alle finden, Speichern, Erstellen usw.:
D-Lesung:
Auswählen ->( ) fragt den Datensatz ab, was dasselbe ist wie findAll->(). Zum Beispiel:
$User->where('status=1′)->order('create_time')->limit(10)->select();
Hinweis: In aufeinanderfolgenden Vorgängen Abgesehen davon, dass die Auswahlmethode an letzter Stelle stehen muss, ist die Reihenfolge der Aufrufmethoden für andere aufeinanderfolgende Vorgänge nicht sequentiell. Beispielsweise entspricht der folgende Code dem oben genannten:
$User->order('create_time')-. Die Methode >where ('status=1′)->limit(10)->select();
find->() ähnelt den beiden oben genannten Methoden. Der Unterschied besteht darin, dass nur ein Datenelement zurückgegeben wird. Kann zusammen mit getField->() verwendet werden, um einen Feldwert eines Datensatzes abzurufen.
select hat den gleichen Effekt wie findall und gibt ein zweidimensionales Array zurück. Zum Beispiel
array(1) {
[0] => array(8)
{ ["rank_id"] => string(3) „151″
["rank_name"] => string(7) „Test 9″
["rank_memo"] => string(3) „123″
[ "uid" ] => string(5) „59471“
["rank_kw"] => string(6) „Wichtig“
["rank_uptime"] => „1280202914“
["isverify"] => string(1) „0“
[„ishot“] => string(1) „0″
}
}
Der Effekt von find ist wie folgt und gibt ein eindimensionales Array zurück:
array(8) {
[" rank_id "] => string(3) „151″
["rank_name"] => string(7) „Test 9″
["rank_memo"] => string (3 ) „123″
["uid"] => string(5) „59471″
["rank_kw"] => string(6) „Wichtig“
["rank_uptime"] => string(10) „
1280202914″ ["isverify"] => string(1) „0″
["ishot" ] => 1) „0″
}
Where-Methode: Wird zum Abfragen oder Aktualisieren der Definition von Bedingungen verwendet
Tabellenmethode: Definieren Sie die Datentabelle, die mit Name bearbeitet werden soll
$Model->Table('think_user user')->where('status>1′)->select();
Feldmethode: Definieren Sie das abzufragende Feld
Die Parameter der Feldmethode unterstützen Zeichenfolgen und Arrays, zum Beispiel
$Model->field('id,nickname as name')->select();
$Model->field(array( 'id','nickname'=>'name'))->select();
Wenn Sie die Feldmethode nicht verwenden, um ein Feld anzugeben, entspricht die Standardeinstellung der Verwendung von field('*') .
U-Update, C-Erstellung:
Daten, Hinzufügen, Speichern Methoden: Datenobjektzuweisung, Hinzufügen, Speichern. Zum Beispiel:
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$Model->data($data) - >add();//Neu hinzugefügt, äquivalent zum Einfügen, in zusammenhängender Weise geschrieben
$Model->add($data); //Neu hinzugefügt, äquivalent zum Einfügen, in nicht kontinuierlicher Weise geschrieben Weg
$Model-> ;data($data)->where('id=3′)->save(); //Ändern, entspricht Aktualisierung
Es sollte beachtet werden Wenn sich in der Speichermethode die Daten nicht geändert haben, ist die Standardrückgabeoperation FALSE. Aber diese Speicherausführung ist in Ordnung, das erfordert Aufmerksamkeit.
create->() bildet automatisch Daten wie $data aus den Feldern von POST
$User=D(“User”);
$User->create( ) ; //Standardmäßig mit den vom Formular übermittelten Daten erstellt
$User->add(); //Methoden
setInc und setDec hinzugefügt. Für Aktualisierungen von Statistikfeldern (normalerweise numerische Typen):
$Model->setInc('score','id=5′,3); // Die Punkte des Benutzers werden um 3 erhöht
$Model- > ;setInc('score','id=5′); // Addiere 1 zu den Punkten des Benutzers
$Model->setDec('score','id=5′,5); // Die Punkte des Benutzers Subtrahiere 5
$Model->setDec('score','id=5′); // Die Punkte des Benutzers werden um 1 reduziert
D Löschen:
delete-> ;( )Daten löschen
$User->where('status=0′)->order('create_time')->limit('5′)->delete();
Andere gängige Methoden des Modells:
Order-Methode: Ergebnissortierung Zum Beispiel:
order('id desc')
Die Sortiermethode unterstützt das Sortieren mehrerer Felder
order('status desc, id asc')
Die Parameter der order-Methode unterstützen Strings und Arrays. Die Verwendung von Arrays ist wie folgt:
order(array('status'=>'desc','id'))
Limit-Methode: Ergebnislimit
limit('1,10′)
Wenn limit('10′) verwendet wird, entspricht es limit('0,10′)
Page-Methode: Die Verwendung der Page-Methode ähnelt der Limit-Methode. Das Format ist:
Page('page[,listRows]')
Page stellt die aktuelle Anzahl der Seiten dar. und listRows stellt die auf jeder Seite angezeigte Anzahl von Datensätzen dar. Wenn beispielsweise 10 Datensätze auf jeder Seite angezeigt werden, werden die Daten auf Seite 2 erhalten:
Page('2,10′)
listRow Wenn nicht geschrieben, lautet der Wert von limit('length'). Um beispielsweise 25 Datensätze pro Seite anzuzeigen, rufen Sie die Daten auf Seite 3 ab:
limit(25)->page(3);
Wenn kein Limit festgelegt ist, erfolgt die Standardeinstellung pro Seite 20 Datensätze.
Join-Methode: Query Join-Unterstützung Die Parameter der Join-Methode unterstützen Zeichenfolgen und Arrays, und die Join-Methode ist die einzige Methode, die in einer kohärenten Operation mehrmals aufgerufen werden kann. Zum Beispiel:
$Model->join(' work ON artist.id = work.artist_id')->join('card ON artist.card_id = card.id')->select();
Die LEFT JOIN-Methode wird standardmäßig verwendet. Wenn Sie andere JOIN-Methoden verwenden müssen, können Sie sie in
$Model->join('RIGHT JOIN work ON artist.id = work.artist_id') ändern. >select();
Distinct-Methode: Disiinct-Unterstützung abfragen. Führen Sie beim Abfragen von Daten eine eindeutige Filterung durch
$Model->Distinct(true)->select();
Beziehungsmethode: Zugehörige Abfrage unterstützt
$Model->Relation(true) - >select();
Bedingte Abfrage
$map->put('name','php'); //name='php'
( 'name',array('like','think')); //name like '…'
('id',array('in',array(1,2,4)) ) ;
('id',array('10′,'3′,'or')); //id>=10 oder <=3
thinkphp-Mehrtabellenabfrage Anweisung
1. table()-Funktion
thinkphp stellt eine table()-Funktion bereit. Informationen zur spezifischen Verwendung finden Sie in der folgenden Anweisung:
$list=$Demo->table('think_blog blog,think_type type')->where('blog.typeid=type.id')->field('blog.id as id,blog.title,blog.content,type.typename as type')-> ;order( 'blog.id desc' )->limit(5)->select();
echo $Demo->getLastSql(); //Drucken Sie die SQL-Anweisung aus und überprüfen Sie sie
2 , join()-Funktion
Schauen Sie sich den Code an:
$Demo = M('artist');
$Demo->join('RIGHT JOIN think_work ON think_artist.id = think_work.artist_id' );
//Sie können hier unbedingt auf das Präfix des Tabellennamens achten!
echo $Demo->getLastSql(); //Drucken Sie die SQL-Anweisung aus und überprüfen Sie sie