


thinkphp implementiert grundlegendes Hinzufügen, Löschen, Ändern und Abfragen
ThinkPHP bietet flexible und praktische Datenoperationsmethoden, die nicht nur die vier Grundoperationen von Datenbankoperationen (CURD) realisieren: Die Implementierung Beim Erstellen, Lesen, Aktualisieren und Löschen sind auch viele praktische Datenoperationsmethoden integriert. Als Nächstes lernen wir gemeinsam diese grundlegenden Operationsmethoden und bereiten am Ende ein Beispiel für alle vor, um ihr Verständnis zu vertiefen.
Neue Daten
// 实例化一个User模型对象 $User = new UserModel(); // 然后给数据对象赋值 $User->name = 'ThinkPHP'; $User->email = 'ThinkPHP@gmail.com'; // 然后就可以保存新建的User对象了 $User->add(); //如果需要锁实例化模型对象的时候传入数据,可以使用 $data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User = new UserModel($data); $User->add(); // 或者直接在add方法传入要新建的数据 $data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User = new UserModel(); $User->add($data);
Im Allgemeinen ist es unwahrscheinlich, dass die Datenobjekte in der Anwendung durch manuelle Zuweisung geschrieben werden, es gibt jedoch einen Datenobjekterstellungsprozess. ThinkPHP bietet eine create-Methode zum Erstellen von Datenobjekten und zum anschließenden Ausführen anderer Hinzufügungs- oder Bearbeitungsvorgänge.
$User = D("User"); $User->create(); // 创建User数据对象,默认通过表单提交的数据进行创建 $User->add(); // 新增表单提交的数据
<🎜 Die Methode >Create unterstützt das Erstellen von Datenobjekten auf andere Weise, beispielsweise aus anderen Datenobjekten oder Arrays usw.
$data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User->create($data); // 从User数据对象创建新的Member数据对象 $Member = D("Member"); $Member->create($User);
支持新增多条记录
$User = new UserModel(); $data[0]['name'] = 'ThinkPHP'; $data[0]['email'] = 'ThinkPHP@gmail.com'; $data[1]['name'] = '流年'; $data[1]['email'] = 'liu21st@gmail.com'; $User->addAll($data);
Unter der MySql-Datenbank wird automatisch eine SQL-Anweisung verwendet, um mehrere Daten einzufügen.
Datensätze abfragen
Datenbank I lesen Ich denke, der Datensatz ist das Interessanteste an Datenbankoperationen. Jeder, der eine Textdatenbank geschrieben hat, weiß, dass es nicht schwierig ist, Daten zu speichern und zu löschen (die Schwierigkeit besteht darin, dass dies möglich ist). Die benötigten Daten können auf verschiedene Weise durchsucht werden. ThinkPHPDurch verschiedene Bemühungen sind Datenbankabfragevorgänge einfach geworden und ThinkPHP ist inhaltsreich geworden.
ThinkPHPEs besteht eine sehr klare Übereinstimmung darüber, dass die Methoden der Einzeldatenabfrage und der Mehrfachdatenabfrage getrennt sind, oder Sie denken vielleicht, dass Sie manchmal nicht wissen, was Sie abfragen sollen Unabhängig davon, ob es sich um einzelne oder mehrere Daten handelt, ist eines klar: Müssen Sie einzelne Daten zurückgeben oder möchten Sie einen Datensatz zurückgeben? Da die Operationsmethoden für die beiden Arten zurückgegebener Daten völlig unterschiedlich sind, können wir unabhängig von der zurückgegebenen Methode direkt im Modellobjekt operieren und es natürlich auch als Daten an die von Ihnen benötigte Variable übergeben.
Nehmen wir zunächst das einfachste Beispiel: Wenn wir einen Benutzerdatensatz abfragen möchten, dessen Primärschlüssel 8 ist, können wir das tun Verwenden Sie einige der folgenden Methoden:
$User->find(8);
这个作为查询语言来说是最为直观的,如果查询成功,查询的结果直接保存在当前的数据对象中,在进行下一次查询操作之前,我们都可以提取,例如获取查询的结果数据:
$name = $User->name; $email = $User->email;
遍历查询到的数据对象属性
foreach ($User as $key=>$val){ echo($key.':'.$val); }
// 或者进行相关的数据更改和保存操作
也可以用变量保存下来以便随时使用。
$user = $User->find(8);
对于上面的查询条件,我们还可以使用getById来完成相同的查询
$User->getById(8);
需要注意的是,对于find方法来说,即使查询结果有多条记录,也只会返回符合条件的第一条记录,如果要返回符合要求的所有记录,请使用findAll方法。
// 查询主键为1、3、8的记录集 $User->findAll('1,3,8'); // 遍历数据列表 foreach ($User as $vo){dump($vo->name); }
更新记录
了解了查询记录后,更新操作就显得非常简单了。
// 还可以使用下面的方式更新 $User->find(1); // 查找主键为1的数据 $User->name = 'TOPThink'; // 修改数据对象 $User->save(); // 保存当前数据对象 $User->score = '(score+1)'; // 对用户的积分加1 $User->save();
如果不是使用数据对象的方式来保存,可以传入要保存的数据和条件
$data['id'] = 1; $data['name'] = 'TopThink'; $User->save($data);
除了save方法外,你还可以使用setField方法来更新特定字段的值,例如:
$User->setField('name','TopThink','id=1');
同样可以支持对字段的操作
$User->setField('score','(score+1)','id=1'); // 或者改成下面的 $User->setInc('score','id=1');
删除记录
如果你的主键是自动增长类型,不需要传入主键的值就可以新建数据,并且如果插入数据成功的话,Add方法的返回值就是最新插入的主键值,可以直接获取。
$User->find(2); $User->delete(); // 删除查找到的记录 $User->delete('5,6'); // 删除主键为5、6的数据 $User->deleteAll(); // 删除查询出来的所有数据
看完上面的代码,我们就来写个实战的例子加深下。
数据显示页面:MainController.class.php中的方法
<?php namespace Home\Controller; use Think\Controller; class MainController extends Controller { //例题:数据的增删改 //显示所有数据: function ShowInfo() { $model=D("Info"); $attr=$model->field("info.code as infocode,info.name as infoname,info.sex,nation.name as nationname,info.birthday")->join("nation on info.nation=nation.code")->select(); $this->assign("shuju",$attr); $this->display(); } //删除数据: function ShanChu($code) { $model=D("Info"); $r=$model->delete($code); if($r) { $this->success("删除成功",U("ShowInfo")); } else { $this->error("删除失败"); } } //添加数据: function TianJia() { if(empty($_POST)) { $model=D("Nation"); $attr=$model->select(); $this->assign("shuju",$attr); $this->display(); } else { $model=D("Info"); $model->create();//自动收集表单数据入库 $model->Sex=$_POST["Sex"]=="男"?true:false; $r=$model->add(); if($r) { $this->success("添加成功!","Tianjia",3); } else { $this->error("添加失败!","Tianjia",3); } } } //修改数据: function XiuGai($code) { $model=D("info"); $modeln=D("nation"); if(empty($_POST)) { $attr=$model->find($code); $attrn=$modeln->select(); $this->assign("shuju",$attr); $this->assign("shujun",$attrn); $this->display(); } else { $model->create(); $model->Sex=$_POST["Sex"]=="男"?true:false; $r=$model->save(); if($r) { $this->success("修改成功",U("Showinfo")); } else { $this->error("修改失败!"); } } } }
模板的数据显示:ShowInfo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>主页面</title> </head> <body> <h2 id="主页面">主页面</h2> <table width="70%" cellpadding="0" cellspacing="0" border="1"> <tr> <td>代号</td> <td>姓名</td> <td>性别</td> <td>民族</td> <td>生日</td> <td>操作</td> </tr> <foreach name="shuju" item="v"> <tr> <td><{$v.infocode}></td> <td><{$v.infoname}></td> <td><{$v["sex"]?"男":"女"}></td> <td><{$v.nationname}></td> <td><{$v.birthday}></td> <td><a href="__CONTROLLER__/XiuGai/code/<{$v.infocode}>">修改</a> <a href="__CONTROLLER__/ShanChu/code/<{$v.infocode}>">删除</a></td> </tr> </foreach> </table> <a href="__CONTROLLER__/TianJia">添加数据</a> </body> </html>
添加数据模板显示:Tianjia.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>添加数据</title> </head> <body> <h1 id="添加数据">添加数据</h1> <form action="/index.php/Article/edit" method="post"> <p>代号:<input type="text" name="Code" /></p> <p>姓名:<input type="text" name="Name" /></p> <p>性别:<input type="radio" name="Sex" value="男" />男 <input type="radio" name="Sex" value="女" />女 </p> <p>民族: <select name="Nation"> <foreach name="shuju" item="v"> <option value="<{$v.code}>"><{$v.name}></option> </foreach> </select> </p> <p>生日:<input type="text" name="Birthday" /></p> <input type="submit" value="添加" /> </form> <a href="__CONTROLLER__/ShowInfo">返回主页面</a> </body> </html>
修改模板数据显示:Xiugai.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>修改数据</title> </head> <body> <h1 id="修改数据">修改数据</h1> <form action="/index.php/Article/edit/code/<{$shuju.code}>" method="post"> <input type="hidden" name="Code" value="<{$shuju.code}>" /> <p>姓名:<input type="text" name="Name" value="<{$shuju.name}>"/></p> <p>性别:<input type="radio" name="Sex" value="男" <{$shuju["sex"]?"checked='checked'":""}>/>男 <input type="radio" name="Sex" value="女" <{$shuju["sex"]?"":"checked='checked'"}> />女 </p> <p>民族: <select name="Nation"> <foreach name="shujun" item="v"> <if condition="$shuju['nation']==$v['code']"> <option selected="selected" value="<{$v.code}>"><{$v.name}></option> <else/> <option value="<{$v.code}>"><{$v.name}></option> </if> </foreach> </select> </p> <p>生日:<input type="text" name="Birthday" value="<{$shuju.birthday}>" /></p> <input type="submit" value="修改" /> </form> <a href="__CONTROLLER__/ShowInfo">返回主页面</a> </body> </html>
主页面:
添加数据
Daten ändern:
Daten löschen :
Die oben genannten sind die grundlegenden Methoden und Beispiele zum Hinzufügen, Löschen, Ändern und Einchecken in Thinkphp, die Ihnen von Thinkphp zur Verfügung gestellt wurden die chinesische PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Um das ThinkPHP-Projekt auszuführen, müssen Sie: Composer installieren, das Projektverzeichnis aufrufen und http://localhost:8000 aufrufen.

ThinkPHP verfügt über mehrere Versionen, die für verschiedene PHP-Versionen entwickelt wurden. Zu den Hauptversionen gehören 3.2, 5.0, 5.1 und 6.0, während Nebenversionen dazu dienen, Fehler zu beheben und neue Funktionen bereitzustellen. Die neueste stabile Version ist ThinkPHP 6.0.16. Berücksichtigen Sie bei der Auswahl einer Version die PHP-Version, die Funktionsanforderungen und den Community-Support. Für optimale Leistung und Support wird empfohlen, die neueste stabile Version zu verwenden.

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

Die Go-Sprache ist eine effiziente, prägnante und leicht zu erlernende Programmiersprache. Sie wird von Entwicklern aufgrund ihrer Vorteile bei der gleichzeitigen Programmierung und Netzwerkprogrammierung bevorzugt. In der tatsächlichen Entwicklung sind Datenbankoperationen ein unverzichtbarer Bestandteil. In diesem Artikel wird erläutert, wie die Go-Sprache zum Implementieren von Datenbank-Hinzufügungs-, Lösch-, Änderungs- und Abfrageoperationen verwendet wird. In der Go-Sprache verwenden wir normalerweise Bibliotheken von Drittanbietern, um Datenbanken zu betreiben, z. B. häufig verwendete SQL-Pakete, Gorm usw. Hier nehmen wir das SQL-Paket als Beispiel, um vorzustellen, wie die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank implementiert werden. Angenommen, wir verwenden eine MySQL-Datenbank.

Leistungsvergleich von Laravel- und ThinkPHP-Frameworks: ThinkPHP schneidet im Allgemeinen besser ab als Laravel und konzentriert sich auf Optimierung und Caching. Laravel schneidet gut ab, aber für komplexe Anwendungen ist ThinkPHP möglicherweise besser geeignet.

„Entwicklungsvorschläge: So verwenden Sie das ThinkPHP-Framework zur Implementierung asynchroner Aufgaben“ Mit der rasanten Entwicklung der Internettechnologie stellen Webanwendungen immer höhere Anforderungen an die Verarbeitung einer großen Anzahl gleichzeitiger Anforderungen und komplexer Geschäftslogik. Um die Systemleistung und das Benutzererlebnis zu verbessern, erwägen Entwickler häufig die Verwendung asynchroner Aufgaben, um einige zeitaufwändige Vorgänge auszuführen, z. B. das Senden von E-Mails, das Verarbeiten von Datei-Uploads, das Erstellen von Berichten usw. Im Bereich PHP bietet das ThinkPHP-Framework als beliebtes Entwicklungsframework einige praktische Möglichkeiten zur Implementierung asynchroner Aufgaben.

ThinkPHP-Installationsschritte: Bereiten Sie PHP-, Composer- und MySQL-Umgebungen vor. Erstellen Sie Projekte mit Composer. Installieren Sie das ThinkPHP-Framework und die Abhängigkeiten. Datenbankverbindung konfigurieren. Anwendungscode generieren. Starten Sie die Anwendung und besuchen Sie http://localhost:8000.

ThinkPHP ist ein leistungsstarkes PHP-Framework mit Vorteilen wie Caching-Mechanismus, Codeoptimierung, Parallelverarbeitung und Datenbankoptimierung. Offizielle Leistungstests zeigen, dass es mehr als 10.000 Anfragen pro Sekunde verarbeiten kann und in großen Websites und Unternehmenssystemen wie JD.com und Ctrip in praktischen Anwendungen weit verbreitet ist.
