thinkphp5中save方法如何用

本文小編為大家詳細(xì)介紹“thinkphp5中save方法如何用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“thinkphp5中save方法如何用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

創(chuàng)新互聯(lián) - 服務(wù)器托管,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽服務(wù)器托管,德陽服務(wù)器托管,遂寧服務(wù)器托管,綿陽服務(wù)器托管,四川云主機(jī),成都云主機(jī),西南云主機(jī),服務(wù)器托管,西南服務(wù)器托管,四川/成都大帶寬,成都機(jī)柜租用,四川老牌IDC服務(wù)商

在thinkphp5中,save()方法用于向指定數(shù)據(jù)表中添加一條記錄,該方法每次僅能向表中添加一條新記錄,添加多條可重復(fù)執(zhí)行,語法為“模型對象 -> save(數(shù)組)”或“模型對象 -> data(數(shù)組) -> save();”。

本文操作環(huán)境:Windows10系統(tǒng)、ThinkPHP5版、Dell G3電腦。

thinkphp5中save方法怎么用

新增單條數(shù)據(jù):save( )方法

功能:向指定數(shù)據(jù)表中添加一條記錄

該方法每次僅能向表中添加一條新記錄,添加多條可重復(fù)執(zhí)行,不過后面要學(xué)習(xí)的saveAll()可一次性添加多條

save方法是Model類中較復(fù)雜的方法之一,因為save方法身兼多職,不僅用于新增,還可以用于更新數(shù)據(jù)。

基本語法:

格式1:將數(shù)據(jù)直接寫在save方法參數(shù)中

模型對象 -> save(數(shù)組);

格式2:先生成數(shù)據(jù)對象,然后用save方法直接寫入表中

模型對象 -> data(數(shù)組) -> save();

這二種語法都可以完成新增操作。但是第二種語法結(jié)構(gòu)更加清晰,可讀性好,修改更加方便。

<?php
namespace app\index\controller;
use app\index\model\Staff;
class Index {
  public function index(){
  //1.創(chuàng)建數(shù)據(jù):與表中字段對應(yīng)
  $data = [];
  $data['name'] = '周星星';
  $data['sex'] = 1;
  $data['age'] = 39;
  $data['salary'] = 3500;
  $data['dept'] = 3;
  $data['hiredate'] = date('Y-m-d',time());
  //2.創(chuàng)建數(shù)據(jù)對象
  $model = (new Staff())-> data($data);
  //3.獲取新增操作執(zhí)行前:數(shù)據(jù)對象原始數(shù)據(jù)
  $data_before = $model -> getData();
  //4.查看新增操作執(zhí)行前的數(shù)據(jù)對象:$model
  echo '查看新增操作執(zhí)行前的數(shù)據(jù)對象:<br />';
  dump($data_before);
  //5.將數(shù)據(jù)對象原始數(shù)據(jù)寫入數(shù)據(jù)表中,返回影響記錄數(shù)
//allowField(true)過濾post數(shù)組中的非數(shù)據(jù)表字段數(shù)據(jù)
  $affected = $model -> allowField(true) -> save(); 
  //6.獲取新增操作執(zhí)行后:數(shù)據(jù)對象原始數(shù)據(jù)
  $data_after = $model -> getData();
  //7.查看新增操作執(zhí)行后的數(shù)據(jù)對象:$model
  echo '查看新增操作執(zhí)行后的數(shù)據(jù)對象:<br />';
  dump($data_after);
  //8. 獲取新增記錄的主鍵id,等價于: $model -> id 
  $insert_ID = $affected ? $data_after['id'] : null;
  //6.驗證是否新增成功
  echo $affected ? '新增成功!新記錄主鍵id是:'.$insert_ID : '新增失敗!';    
  }
}

save()方法

class Index {
  public function index(){
  //1.創(chuàng)建數(shù)據(jù):與表中字段對應(yīng)
  $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);

讀到這里,這篇“thinkphp5中save方法如何用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文標(biāo)題:thinkphp5中save方法如何用
分享路徑:http://muchs.cn/article10/gheodo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、App開發(fā)網(wǎng)站收錄、營銷型網(wǎng)站建設(shè)網(wǎng)站策劃、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)