save(array )" atau "Model object->data(array)->save();"."/> save(array )" atau "Model object->data(array)->save();".">

Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menggunakan kaedah simpan dalam thinkphp5

Bagaimana untuk menggunakan kaedah simpan dalam thinkphp5

WBOY
WBOYasal
2022-02-18 14:57:545437semak imbas

Dalam thinkphp5, kaedah save() digunakan untuk menambah rekod pada jadual data yang ditentukan Kaedah ini hanya boleh menambah satu rekod baharu pada satu masa Penambahan berbilang rekod boleh diulang ialah "model Object-> save(array)" atau "Model object-> data(array)-> save();".

Bagaimana untuk menggunakan kaedah simpan dalam thinkphp5

Persekitaran pengendalian artikel ini: sistem Windows 10, ThinkPHP versi 5, komputer Dell G3.

Cara menggunakan kaedah simpan dalam thinkphp5

Tambah sekeping data: kaedah save()

Fungsi: Tambah rekod pada jadual data yang ditentukan

Ini Kaedah hanya boleh menambah satu rekod baharu pada satu masa Menambah berbilang rekod boleh diulangi Namun, saveAll() yang akan dipelajari kemudian boleh menambah berbilang rekod sekaligus

Kod sumber. : /thinkphp/library/think/Model .php

Kaedah simpan ialah salah satu kaedah yang lebih kompleks dalam kelas Model, kerana kaedah simpan memainkan pelbagai peranan, bukan sahaja untuk menambah data baharu, tetapi juga untuk mengemas kini data.

Sintaks asas:

Format 1: Tulis data terus dalam parameter kaedah simpan

模型对象 -> save(数组);

Format 2: Mula-mula jana objek data, dan kemudian tulis terus menggunakan kaedah simpan Masukkan jadual

模型对象 -> data(数组) -> save();

kedua-dua sintaks boleh melengkapkan operasi baharu. Tetapi struktur tatabahasa kedua adalah lebih jelas, lebih mudah dibaca dan lebih mudah untuk diubah suai.

<?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;;    
  }
}

kaedah save()

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);

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menggunakan kaedah simpan dalam thinkphp5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn