Heim > Backend-Entwicklung > PHP-Tutorial > Hinzufügen, Löschen, Ändern und Einchecken in ThinkPHP

Hinzufügen, Löschen, Ändern und Einchecken in ThinkPHP

韦小宝
Freigeben: 2023-03-17 17:04:02
Original
1830 Leute haben es durchsucht

thinkphp ist ein PHP-Framework, abgekürzt als tp Heute werde ich über die Ergänzungen, Löschungen und Modifikationen von tp sprechen Modifikationen von tp, Sie werden definitiv das Gefühl haben, dass das native, das Sie zuvor verwendet haben, wirklich zu mühsam ist, und Sie wünschen, Sie könnten tp für alles verwenden, was Sie schreiben sehen!

1. Erstellungsvorgang

Verwenden Sie die Add-Methode in ThinkPHP, um Daten zur Datenbank hinzuzufügen.

Die Verwendungsmethode ist wie folgt:

$User = M("User"); // 实例化User对象
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->add($data);
Nach dem Login kopieren

oder verwenden Sie die Datenmethode Kontinuierlicher Betrieb

$User->data($data)->add();
Nach dem Login kopieren

Wenn das Datenobjekt vorhanden ist Wird vor dem Hinzufügen erstellt (wenn beispielsweise die Methode „create“ oder „data“ verwendet wird), muss die Methode „add“ keine Daten übergeben.

Beispiel für die Verwendung der Methode „create“:

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// Erstellen Sie ein Datenobjekt basierend auf den vom Formular übermittelten POST-Daten

$User->create();
$User->add(); // 根据条件保存修改的数据
Nach dem Login kopieren

Wenn Ihr Primärschlüssel ist ein automatischer Wachstumstyp. Und wenn das Einfügen von Daten erfolgreich ist, ist der Rückgabewert der Add-Methode der zuletzt eingefügte Primärschlüsselwert, der direkt abgerufen werden kann.

2. Daten lesen

Es gibt viele Möglichkeiten, Daten in ThinkPHP zu lesen, normalerweise unterteilt in Lesedaten und Lesedatensätze.

Lesen Sie den Datensatz mit der Findall- oder Select-Methode (Findall- und Select-Methoden sind gleichwertig):

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// Suchen Sie nach Benutzerdaten mit dem Statuswert 1 und geben Sie 10 nach Erstellung sortierte Elemente zurück time Der Rückgabewert der Daten

$list = $User->where('status=1')->order('create_time')->limit(10)->select();
Nach dem Login kopieren

select-Methode ist ein zweidimensionales Array. Wenn keine Ergebnisse gefunden werden, wird ein leeres Array zurückgegeben. Komplexe Datenabfragen können mit den oben genannten kohärenten Operationsmethoden durchgeführt werden. Die komplexeste kohärente Methode sollte die Verwendung der Where-Methode sein. Da dieser Teil viel Inhalt umfasst, geben wir detaillierte Anweisungen zum Zusammenstellen von Abfragebedingungen im Abfragesprachenteil. Grundlegende Abfragen umfassen vorerst nicht den zugehörigen Abfrageteil, sondern verwenden das zugeordnete Modell, um Datenoperationen durchzuführen. Weitere Informationen zu diesem Teil finden Sie im Abschnitt zum zugehörigen Modell.

Verwenden Sie die Suchmethode zum Lesen von Daten:

Der Vorgang zum Lesen von Daten ähnelt tatsächlich dem des Datensatzes. Alle für die Auswahl verfügbaren kohärenten Vorgangsmethoden können auch für die Suche verwendet werden Der Unterschied besteht darin, dass die Find-Methode höchstens einen Datensatz zurückgibt, sodass die Limit-Methode für Suchabfragevorgänge ungültig ist.

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

//Suchen Sie Benutzerdaten mit Statuswert 1 und Namenswert think

$User->where('status=1 AND name="think" ')->find();
Nach dem Login kopieren

Auch wenn es mehr als ein Datenelement gibt, das die Bedingungen erfüllt, wird die Suchmethode dies tun Geben Sie nur den ersten Datensatz zurück.

Wenn Sie den Wert eines Feldes lesen möchten, können Sie zum Beispiel die getField-Methode verwenden:

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// Holen Sie sich den Spitznamen des Benutzers mit der ID 3

$nickname = $User->where('id=3')->getField('nickname');
Nach dem Login kopieren

Wenn es nur ein Feld gibt, immer einen Wert zurückgeben.

Wenn mehrere Felder übergeben werden, kann ein assoziatives Array zurückgegeben werden:

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// Liste der IDs und Spitznamen aller Benutzer abrufen

$list = $User->getField('id,nickname');
Nach dem Login kopieren

Die zurückgegebene Liste ist ein Array, der Schlüsselname ist die ID des Benutzers und der Schlüsselwert ist der Spitzname des Benutzers.

3. Daten aktualisieren

Verwenden Sie die Speichermethode, um die Datenbank in ThinkPHP zu aktualisieren, und unterstützen Sie auch die Verwendung kohärenter Operationen.

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

//Zuweisung der zu ändernden Datenobjektattribute

$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->save($data); // 根据条件保存修改的数据
Nach dem Login kopieren

Um die Sicherheit der Datenbank zu gewährleisten und Fehler zu vermeiden, aktualisieren Sie die gesamte Datentabelle. Wenn keine Aktualisierungsbedingungen vorliegen, werden die Daten nicht aktualisiert. Wenn das Objekt selbst kein Primärschlüsselfeld enthält, aktualisiert die Speichermethode keine Datenbankdatensätze.

Daher ändert der folgende Code keine Datensätze in der Datenbank

$User->save($data);
Nach dem Login kopieren

Es sei denn, die folgende Methode wird verwendet:

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// Zuweisung von Datenobjektattributen geändert werden

$data['id'] = 5;
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->save($data); // 根据条件保存修改的数据
Nach dem Login kopieren

Wenn id der Primärschlüssel der Datentabelle ist, verwendet das System automatisch den Wert des Primärschlüssels als Aktualisierungsbedingung, um die Werte anderer Felder zu aktualisieren.

Eine andere Methode besteht darin, das zu aktualisierende Datenobjekt über die Methode „create“ oder „data“ zu erstellen und es dann zu speichern, sodass die Parameter der Speichermethode nicht übergeben werden müssen.

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// Zuweisung der zu ändernden Datenobjektattribute

$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->data($data)->save(); // 根据条件保存修改的数据
Nach dem Login kopieren

Beispiel für die Verwendung der Methode „create“:

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// POST-Daten gemäß übermittelt zum Formular Datenobjekt erstellen

$User->create();
$User->save(); //根据条件保存要修改的数据
Nach dem Login kopieren

Im obigen Fall muss das Formular ein verstecktes Feld mit dem Namen des Primärschlüssels enthalten, um den Speichervorgang abzuschließen.

Wenn Sie nur den Wert einzelner Felder aktualisieren, können Sie die setField-Methode verwenden:

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// Ändern Sie den Namenswert des Benutzers

$User-> where('id=5')->setField('name','ThinkPHP');
Nach dem Login kopieren

Das setField Die Methode unterstützt das gleichzeitige Aktualisieren mehrerer Dateien. Sie müssen lediglich ein Array übergeben, zum Beispiel:

$User = M("User"); // 实例化User对象
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

// Ändern Sie den Wert des Benutzernamens und der E-Mail-Adresse

$User-> where('id=5')->setField(array('name','email'),array('ThinkPHP','ThinkPHP@gmail.com'));
Nach dem Login kopieren

Für die Aktualisierung statistischer Felder (bezieht sich normalerweise auf den numerischen Typ) stellt das System auch die Methoden setInc und setDec bereit:

$User = M("User"); // 实例化User对象
$User->setInc('score','id=5',3);// 用户的积分加3
$User->setInc('score','id=5'); // 用户的积分加1
$User->setDec('score','id=5',5);// 用户的积分减5
$User->setDec('score','id=5'); // 用户的积分减1
Nach dem Login kopieren

4. Daten löschen

wird in ThinkPHP verwendet LöschmethodeLöscht Datensätze in der Datenbank. Löschvorgänge können auch mithilfe kohärenter Operationen durchgeführt werden.

$User = M("User"); // 实例化User对象
$User->where('id=5')->delete(); // 删除id为5的用户数据
$User->where('status=0')->delete(); // 删除所有状态为0的用户数据
Nach dem Login kopieren

delete方法可以用于删除单个或者多个数据,主要取决于删除条件,也就是where方法的参数,也可以用order和limit方法来限制要删除的个数,例如:

// 删除所有状态为0的5个用户数据按照创建时间排序

$User->where('status=0')->order('create_time')->limit('5')->delete();
Nach dem Login kopieren

以上就是tp的增删查改四种方法了,更多关于tp的内天请到本站搜索哦~

相关推荐:

tp上传图片与生成缩略图功能的实现示例

TP5实现邮件发送服务封装以及可发附件的实例

TP5改写跳转提示页面的实现方法

Das obige ist der detaillierte Inhalt vonHinzufügen, Löschen, Ändern und Einchecken in ThinkPHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage