Heim  >  Artikel  >  PHP-Framework  >  So verwenden Sie die Speichermethode in thinkphp5

So verwenden Sie die Speichermethode in thinkphp5

WBOY
WBOYOriginal
2022-02-18 14:57:545433Durchsuche

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)->“.

So verwenden Sie die Speichermethode in thinkphp5

Die Betriebsumgebung dieses Artikels: Windows 10-System, ThinkPHP Version 5, Dell G3-Computer.

So verwenden Sie die Save-Methode in thinkphp5

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[&#39;name&#39;] = &#39;周星星&#39;;
  $data[&#39;sex&#39;] = 1;
  $data[&#39;age&#39;] = 39;
  $data[&#39;salary&#39;] = 3500;
  $data[&#39;dept&#39;] = 3;
  $data[&#39;hiredate&#39;] = date(&#39;Y-m-d&#39;,time());
  //2.创建数据对象
  $model = (new Staff())-> data($data);
  //3.获取新增操作执行前:数据对象原始数据
  $data_before = $model -> getData();
  //4.查看新增操作执行前的数据对象:$model
  echo &#39;查看新增操作执行前的数据对象:<br />&#39;;
  dump($data_before);
  //5.将数据对象原始数据写入数据表中,返回影响记录数
//allowField(true)过滤post数组中的非数据表字段数据
  $affected = $model -> allowField(true) -> save(); 
  //6.获取新增操作执行后:数据对象原始数据
  $data_after = $model -> getData();
  //7.查看新增操作执行后的数据对象:$model
  echo &#39;查看新增操作执行后的数据对象:<br />&#39;;
  dump($data_after);
  //8. 获取新增记录的主键id,等价于: $model -> id 
  $insert_ID = $affected ? $data_after[&#39;id&#39;] : null;
  //6.验证是否新增成功
  echo $affected ? &#39;新增成功!新记录主键id是:&#39;.$insert_ID : &#39;新增失败!&#39;;    
  }
}

save()-Methode

class Index {
  public function index(){
  //1.创建数据:与表中字段对应
  $data = [];
  $data[&#39;name&#39;] = &#39;周星星&#39;;
  $data[&#39;sex&#39;] = 1;
  $data[&#39;age&#39;] = 39;
  $data[&#39;salary&#39;] = 3500;
  $data[&#39;dept&#39;] = 3;
  $data[&#39;hiredate&#39;] = date(&#39;Y-m-d&#39;,time());
  $model = new Staff();
$affected = $model -> allowField(true) -> save($data); 
  $data[&#39;name&#39;] = &#39;周星星&#39;;
  $data[&#39;sex&#39;] = 1;
  $data[&#39;age&#39;] = 39;
  $data[&#39;salary&#39;] = 3000;
  $data[&#39;dept&#39;] = 3;
  $data[&#39;hiredate&#39;] = date(&#39;Y-m-d&#39;,time());
$affected = $model -> allowField(true)
                           -> setAttr(&#39;id&#39;,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!

Stellungnahme:
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