Heim  >  Artikel  >  PHP-Framework  >  So rufen Sie das MySQL-Feld in thinkphp auf

So rufen Sie das MySQL-Feld in thinkphp auf

WBOY
WBOYnach vorne
2023-05-29 23:28:48851Durchsuche

1. Datenbanktabellen und Daten erstellen

Bevor wir Datenbankoperationen durchführen, müssen wir zuerst die Datenbank und die entsprechenden Datentabellen erstellen. Wir gehen davon aus, dass wir ein Studentenverwaltungssystem entwickeln müssen, in dem eine Datenbanktabelle mit dem Namen student eingerichtet werden muss, um grundlegende Informationen über Studenten zu speichern. Die Tabelle enthält die folgenden Felder:

id: Primärschlüssel, automatische Inkrementierung.

Name: Schülername, Varchar-Typ, Länge 20.

Alter: Studentenalter, int. Typ.

Geschlecht: Geschlecht des Schülers, Varchar-Typ, Länge 2.

t_score: CET-4-Testergebnis, int-Typ.

total_score: Gesamtpunktzahl der Schüler, int-Typ.

Wir können die folgende SQL-Anweisung verwenden, um die Datentabelle zu erstellen:

CREATE TABLE 
student
 (
  
id
 int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  
name
 varchar(20) NOT NULL DEFAULT '' COMMENT '学生姓名',
  
age
 int(11) NOT NULL DEFAULT '0' COMMENT '学生年龄',
  
sex
 varchar(2) NOT NULL DEFAULT '' COMMENT '学生性别',
  
t_score
 int(11) NOT NULL DEFAULT '0' COMMENT 'CET-4考试成绩',
  
total_score
 int(11) NOT NULL DEFAULT '0' COMMENT '学生成绩总和',
  PRIMARY KEY (
id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表';

Wir fügen zufällig einige Daten für nachfolgende Tests ein:

INSERT INTO 
student
 (
name
, 
age
, 
sex
, 
t_score
, 
total_score
) VALUES ('张三', 20, '男', 550, 750), ('李四', 19, '女', 530, 700), ('王五', 22, '男', 610, 820), ('赵六', 23, '女', 590, 780), ('钱七', 21, '男', 500, 730);

2. Rufen Sie das MySQL-Feld in ThinkPHP auf

Wir können die von der Db-Klasse bereitgestellte Methode verwenden , Führen Sie Vorgänge wie das Hinzufügen, Löschen, Ändern und Abfragen der Datenbank in ThinkPHP aus. Bei der Durchführung von Abfragevorgängen müssen wir MySQL-Felder aufrufen. Im Folgenden sind einige gängige Aufrufmethoden aufgeführt:

1. Verwenden Sie die Array-Methode, um direkt aufzurufen:

Wir können die Array-Methode verwenden, um MySQL-Felder direkt aufzurufen. Die Abfrage von ID, Name, Alter und anderen Feldern in der Schülertabelle kann auf folgende Weise implementiert werden:

$studentList = Db::name('student')->field(['id', 'name', 'age' ])->select();

$field-Parameter ist optional. Wenn dieser Parameter nicht übergeben wird, werden alle Felder abgefragt.

2. Verwenden Sie die String-Methode zum Aufrufen von:

Die zweite Methode besteht darin, die String-Methode direkt zum Aufrufen von MySQL-Feldern zu verwenden, zum Beispiel:

//Abfrage-ID-, Namens- und Altersfelder
$studentList = Db::name(' student ')->field('id, name, age')->select();

//Fragen Sie die Felder t_score, total_score und total_score ab (der Gesamtscore ist das Ergebnis der Addition von t_score und total_score)
$studentList = Db::name('student')->field('t_score, total_score, (t_score+total_score) as score')->select();

Beim Aufrufen des MySQL-Felds im String-Modus haben wir kann als Feldalias (Alias) übergeben werden.

3. Aufruf mit der Modellmethode:

Beim Aufruf mit der Modellmethode müssen wir zuerst die Modellklasse definieren. Eine Modellklasse mit dem Namen „Student“ kann basierend auf der Struktur der Student-Tabelle definiert werden direkt bedienen Abfrage:

//Alle Informationen zur Schülerliste abrufen

$studentList = Student::field(['id', 'name', 'age'])->select();

//Schüler abrufen Name und Gesamtzahl der Punkte

$studentList = Student::field('name, (t_score+total_score) as score')->select();

Das Aufrufen von MySQL-Feldern über Modelle kann unseren Code prägnanter und eleganter machen, und kann SQL-Injection-Probleme wirksam verhindern.

3. Führen Sie eine MySQL-Feld-Alias-Operation in ThinkPHP aus.


Bei der Ausführung von SQL-Abfrageanweisungen müssen wir manchmal Spalten-Aliase als Kennung der zurückgegebenen Ergebnisse verwenden. Wenn wir beispielsweise den Namen des Schülers und die Anzahl anderer Schüler mit höheren Punktzahlen als der Schüler in den Abfrageergebnissen anzeigen möchten, können wir einen Alias ​​hinzufügen:

//定义表名和主键
protected $table = 'student';
protected $pk = 'id';

Der obige Code kann den Namen und die Rangfolge der Person ermitteln Die Unterabfrage- und Alias-Methode lautet:

$studentList = Db::name('student')->field('name, (SELECT count(*) FROM student as b WHERE b.total_score>s.total_score) as rank')->alias('s')->select();

In ThinkPHP können wir mithilfe der Alias-Methode bestimmte Aliase für MySQL-Felder festlegen, um effizientere Abfragevorgänge zu erreichen.

Das obige ist der detaillierte Inhalt vonSo rufen Sie das MySQL-Feld in thinkphp auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen