Heim > Artikel > PHP-Framework > So verwenden Sie die Speichermethode in thinkphp5
In thinkphp5 wird die Methode save() verwendet, um einen Datensatz zur angegebenen Datentabelle hinzuzufügen. Das Hinzufügen mehrerer Datensätze kann wiederholt werden -> save(array)“ oder „model object-> data(array)->“.
Die Betriebsumgebung dieses Artikels: Windows 10-System, ThinkPHP Version 5, Dell G3-Computer.
Fügen Sie ein einzelnes Datenelement hinzu: save()-Methode
Funktion: Fügen Sie einen Datensatz zur angegebenen Datentabelle hinzu
Diese Methode kann jeweils nur einen neuen Datensatz zur Tabelle hinzufügen Zeit und mehrere Datensätze hinzufügen Es kann wiederholt ausgeführt werden, aber die später zu erlernende saveAll() kann mehrere Elemente gleichzeitig hinzufügen
Quellcode: /thinkphp/library/think/Model.php
Die Speichermethode ist eine davon Die komplexeren Methoden in der Model-Klasse, da die Speichermethode mehrere Funktionen hat, nicht nur für neue Ergänzungen, sondern auch für die Aktualisierung von Daten.
Grundlegende Syntax:
Format 1: Schreiben Sie die Daten direkt in die Parameter der Speichermethode
模型对象 -> save(数组);
Format 2: Generieren Sie zuerst das Datenobjekt und schreiben Sie es dann mit der Speichermethode direkt in die Tabelle
模型对象 -> data(数组) -> save();
Beides Zwei Syntaxen können die neuen Add-Vorgänge abschließen. Aber die zweite grammatikalische Struktur ist klarer, lesbarer und bequemer zu ändern.
<?php namespace app\index\controller; use app\index\model\Staff; class Index { public function index(){ //1.创建数据:与表中字段对应 $data = []; $data['name'] = '周星星'; $data['sex'] = 1; $data['age'] = 39; $data['salary'] = 3500; $data['dept'] = 3; $data['hiredate'] = date('Y-m-d',time()); //2.创建数据对象 $model = (new Staff())-> data($data); //3.获取新增操作执行前:数据对象原始数据 $data_before = $model -> getData(); //4.查看新增操作执行前的数据对象:$model echo '查看新增操作执行前的数据对象:<br />'; dump($data_before); //5.将数据对象原始数据写入数据表中,返回影响记录数 //allowField(true)过滤post数组中的非数据表字段数据 $affected = $model -> allowField(true) -> save(); //6.获取新增操作执行后:数据对象原始数据 $data_after = $model -> getData(); //7.查看新增操作执行后的数据对象:$model echo '查看新增操作执行后的数据对象:<br />'; dump($data_after); //8. 获取新增记录的主键id,等价于: $model -> id $insert_ID = $affected ? $data_after['id'] : null; //6.验证是否新增成功 echo $affected ? '新增成功!新记录主键id是:'.$insert_ID : '新增失败!'; } }
save()-Methode
class Index { public function index(){ //1.创建数据:与表中字段对应 $data = []; $data['name'] = '周星星'; $data['sex'] = 1; $data['age'] = 39; $data['salary'] = 3500; $data['dept'] = 3; $data['hiredate'] = date('Y-m-d',time()); $model = new Staff(); $affected = $model -> allowField(true) -> save($data); $data['name'] = '周星星'; $data['sex'] = 1; $data['age'] = 39; $data['salary'] = 3000; $data['dept'] = 3; $data['hiredate'] = date('Y-m-d',time()); $affected = $model -> allowField(true) -> setAttr('id',null) //清空ID -> isUpdate(false) //显式指定新增 -> save($data);
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Speichermethode in thinkphp5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!