TP6模型操作


TP6模型操作

數據庫的所有查詢構造器方法模型中都可以支持,可以定義自己的方法,
所以也可以把模型看成是數據庫的增強版

一、模型的定義

<?php
namespace app\model;
use think\Model;
class UserModel extends Model
{
    
    protected $table= 'user'; //設置表名
    protected $pk = 'uid';    //設置主鍵ID
}

 個人推薦Model類 都以 Model為后綴。例如:UserModel、

二、模型的使用

//引入模型類:
use  app\model\UserModel;

//模型使用
User::where('id','>',10)->select();

 使用模型新增數據:

$add_data = [
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
];
$user = User::create($add_data);
echo $user->id; // 獲取自增ID

 使用模型批量新增數據:

$user = new User;
$list = [
    ['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
    ['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);

 使用模型更新數據:

$user = User::find(1);
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
或直接更新
User::update(['name' => 'thinkphp', 'id' => 1]);

 如果需要執行SQL函數更新,可以使用如下方法

$user->score    =  Db::raw('score+1');
字段過濾 ,只允許某些字段更新
$user = User::find(1);
// post數組中只有name和email字段會寫入
$user->allowField(['name', 'email'])->save($_POST);
刪除數據
//1、先查詢后刪除
$user = User::find(1);
$user->delete();
//2、根據條件刪除
User::where('id','>',10)->delete();
//3、根據主鍵刪除數據
User::destroy(1);
// 支持批量刪除多個數據
User::destroy([1,2,3]);
查詢單條數據:
// 取出主鍵為1的數據
$user = User::find(1);

// 使用查詢構造器查詢滿足條件的數據
$user = User::where('name', 'thinkphp')->find();
//如果希望查詢數據不存在則返回一個空模型,可以使用
$user = User::findOrEmpty(1);
//用isEmpty方法來判斷當前是否為一個空模型
if (!$user->isEmpty()) {
    echo $user->name;
}

查詢多條數據:

// 根據主鍵獲取多個數據
$list = User::select([1,2,3]);
// 對數據集進行遍歷操作
foreach($list as $key=>$user){
    echo $user->name;
}

//使用查詢構造器
$list = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
foreach($list as $key=>$user){
    echo $user->name;
}

// 獲取某個用戶的積分
User::where('id',10)->value('score');
// 獲取某個列的所有值
User::where('status',1)->column('name');
// 以id為索引
User::where('status',1)->column('name','id');

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM