Thinkphp5.0第二篇

查詢構造器

//插入記錄
    $result=Db::table('think_data')->insert(['name'=>'張三','status'=>1]);
//修改數據
            $result=Db::table('think_data')->where('id', 1)->update(['name'=>"陳國鬆",'status'=>0]);
//查詢數據
$result=Db::table('think_data')->select();

(貌似修改數據不能以id修改多是id加了AUTO_INCREMENT,能不用助手函數就不用助手函數)php

鏈式操做

數據庫提供的鏈式操做方法,能夠有效的提升數據存取的代碼清晰度和開發效率,而且支持全部的CURD操做。
使用也比較簡單,假如咱們如今要查詢一個User表的知足狀態爲1的前10條記錄,並但願按照用戶的建立時間排
序 ,代碼以下:thinkphp

Db::table('think_user')
->where('status',1)
->order('create_time')
->limit(10)
->select();

這裏的 where 、 order 和 limit 方法就被稱之爲鏈式操做方法,除了select方法必須放到最後一個外
(由於select方法並非鏈式操做方法),鏈式操做的方法調用順序沒有前後,例如,下面的代碼和上面的等
效:數據庫

Db::table('think_user')
->order('create_time')
->limit(10)
->where('status',1)
->select();

其實不單單是查詢方法可使用連貫操做,包括全部的CURD方法均可以使用,例如:app

Db::table('think_user')
->where('id',1)
->field('id,name,email')
->find();
Db::table('think_user')
->where('status',1)
->where('id',1)
->delete();

鏈式操做在完成查詢後會自動清空鏈式操做的全部傳值。簡而言之,鏈式操做的結果不會帶入後面的其它查詢。函數

查詢數據

$result=Db::name('data')->where('status',1)->find();

  $result=Db::name('data')->where('status',1)->select();

find方法和select方法的區別在於find只能查到一個,而select是查詢全部的。thinkphp5

查詢表達式

模糊查詢

$result=Db::name('data')->where('name','like','%陳%')->select();

區間查詢

$result=Db::name('data')->where('id','BETWEEN',[2,4])->select();

一次性插入多條數據

$data=[

     ['name'=>"凌志林",'status'=>1],

      ['name'=>"林志穎",'status'=>2],

            ];

            $result=Db::name('data')->insertALL($data);

更改字段值

$result=Db::name('data')->where('name','陳國鬆')->setField('name','陳鬆');

自增長一

$result=Db::name('data')->where('name','陳鬆')->setInc('status');

自減

$result=Db::name('data')->where('name','陳鬆')->setDec('status',2);

模型

Thinkphp5.0的模型是一種關係映射ORM的封裝而且提供了簡潔的ActiveRecord實現。通常來講,每一個數據表會和一個"模型對應"。spa

模型類返回的是當前模型對象實例,模型是比Db類更高級的數據封裝,支持模型關聯,模型事件。code

模型定義

首先建立一個數據表
對象

而後新建以下文件及文件夾
blog

其中model裏的User.php以下

<?php
namespace app\index\model;
use think\Model;
class User extends Model
{
    
}

controller裏面的User.php

<?php

namespace app\index\controller;

use app\index\model\User as UserModel;

class User{

    //新增一條數據的方法

   public function add()

    {

       echo 'hello';

        $user =new UserModel();

        $user->id=1;

        $user->name='陳國鬆';

        $user->email='liuyun@qq.com';

        $user->birthday=strtotime('1989-7-11');

      if( $user->save()){

          return '用戶新增成功';

      }else{
          return '用戶新增失敗';

     }

    }

}

地址欄這樣訪問(沒有弄虛擬主機的)

http://localhost/thinkphp5.0/public/index.php/index/User/add

成功的話數據庫會以下

相關文章
相關標籤/搜索