-
配置自動寫入時間戳
查看全部 -
#查詢
? ? ? ?//獲取單個數(shù)據(jù)
// ? ? ? ?$res=User::get(1);
? ? ? ?//獲取多個數(shù)據(jù)
// ? ? ? ?$res = User::all('1,2,3');
// ? ? ? ?foreach ($res AS $val){
// ? ? ? ? ? ?dump($val->toArray());
// ? ? ? ?}
? ? ? ?//獲取指令列的數(shù)據(jù),返回值為數(shù)組
// ? ? ? ?$res = User::column('name,age');
// ? ? ? ?dump($res);
? ? ? ?#插入
// ? ? ? ?$res = User::create([
// ? ? ? ? ? 'name'=>'cc',
// ? ? ? ? ? 'age'=>13
// ? ? ? ?]);
? ? ? ?//save()更便捷,返回數(shù)組
? ? ? ?//allowField(*); ? ?參數(shù)為true時,過濾不存在的字段。 ? 參數(shù)為存在的字段時,save的數(shù)組內(nèi)只添加該字段的值。
// ? ? ? ?$userModel = new User;
// ? ? ? ?$res = $userModel->allowField('name')->save([
// ? ? ? ? ? 'name'=>'bb',
// ? ? ? ? ? 'age'=>18
// ? ? ? ?]);
// ? ? ? ?dump($res);
? ? ? ?//saveAll([])返回對象.
// ? ? ? ?$userModel = new User;
// ? ? ? ?$res = $userModel->saveAll([
// ? ? ? ? ? ?['name' => 'xx']
// ? ? ? ?]);
//
// ? ? ? ?foreach ($res as $val) {
// ? ? ? ? ? ?dump($val->toArray());
// ? ? ? ?}
? ? ? ?#更改
// ? ? ? ?update();推薦使用
// ? ? ? ?$userModel = new User;
// ? ? ? ?$res = $userModel->where('id','>',8)
// ? ? ? ? ? ?->update(['age'=>10]);
// ? ? ? ?dump($res);
? ? ? ?//save();推薦使用 使用閉包函數(shù)function ($query)
// ? ? ? ?$userModel = new User();
// ? ? ? ?$res = $userModel->save([
// ? ? ? ? ? 'age'=>20
// ? ? ? ?],function ($query){
// ? ? ? ? ? ?$query->where('id','>',8);
// ? ? ? ?});
// ? ? ? ?dump($res);查看全部 -
<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index extends Controller
{
? ?public function index($name = 'world')
? ?{
? ? ? ?$this->assign('name', $name);
? ? ? ?$db = db('test');
// ? ? ? ?$res=Db::name('test')->select();
// ? ? ? ? ?或
// ? ? ? ?$res=Db::table('test')->select();
// ? ? ? ?或
// ? ? ? ?$res=db('test')->select();
// ? ? ? ?$res=Db::query('select id , data from tp_5_test');
// ? ? ? ?select 返回所有記錄
// ? ? ? ?$res=Db::table('tp_5_test')->select();
// ? ? ? ?$res=Db::table('tp_5_test')->find();
// ? ? ? ?返回單個字段數(shù)據(jù)
// ? ? ? ?$res=Db::table('tp_5_test')->value('data');
// ? ? ? ?返回一組字段數(shù)據(jù),可以存在第二個參數(shù),并以第二個參數(shù)為Key輸出
// ? ? ? ?$res=Db::table('tp_5_test')->column('data');
// ? ? ? ?插入數(shù)據(jù) ?insert();
// ? ? ? ?insertGetId();此方法運行后,返回主鍵id
// ? ? ? ?$res=$db->insertGetId([
// ? ? ? ? ? ?'name' => 'nono',
// ? ? ? ? ? ?'data' =>md5('bad')
// ? ? ? ?]);
// ? ? ? ?dump($res);
// ? ? ? ?$last=db('test')->select();
// ? ? ? ?dump($last);
// ? ? ? ?insertAll();插入數(shù)組/一組數(shù)據(jù),返回插入數(shù)據(jù)成功的行數(shù)
// ? ? ? ?$data=[];
// ? ? ? ?for ($i=0;$i<10;$i++){
// ? ? ? ? ? ?$data[]=[
// ? ? ? ? ? ? ? ?'name' =>'yeye'.$i,
// ? ? ? ? ? ? ? ?'data' =>md5('see'.$i)
// ? ? ? ? ? ?];
// ? ? ? ?}
// ? ? ? ?$res=$db->insertAll($data);
// ? ? ? ?dump($res);
// ? ? ? ?update() 可以改變多字段信息,返回影響行數(shù)
// ? ? ? ?$res= $db->where([
// ? ? ? ? ? ?'id'=>1
// ? ? ? ?])->update([
// ? ? ? ? ? ?'name'=>'abc',
// ? ? ? ? ? ?'data'=>md5('ssss')
// ? ? ? ?]);
// ? ? ? ?setField(); 每次變更一個字段信息,返回影響行數(shù)
// ? ? ? ?$res = $db->where([
// ? ? ? ? ? ?'id'=>1
// ? ? ? ?])->setField('name','qwe');
// ? ? ? ?setInc(a,b); ?每次執(zhí)行(字段)都自增. ? 默認(rèn)不寫第二參數(shù)自增1,第二參數(shù)是多少就自增多少。返回影響行數(shù)
// ? ? ? ?$res=$db->where(['id'=>1])->setInc('num');//+1
// ? ? ? ?$res=$db->where(['id'=>1])->setInc('num',5);//+5
// ? ? ? ?setDec(); ?每次執(zhí)行都自減.
// ? ? ? ?$res=$db->where(['id'=>1])->setDec('num');
// ? ? ? ?$res=$db->where(['id'=>1])->setDec('num',5);
// ? ? ? ?delete();不添加where條件時,按主鍵刪除時,直接添加參數(shù)即可 例:delete(2);
// ? ? ? ?$res=$db->delete(2);
? ? ? ?#條件構(gòu)造器,條件信息
? ? ? ?/* ?where() ? ? whereOr()
? ? ? ? * ?EQ ? ? ?=
? ? ? ? * ?NEQ ? ? <>
? ? ? ? * ?LT ? ? ?<
? ? ? ? * ?ELT ? ? <=
? ? ? ? * ?GT ? ? ?>
? ? ? ? * ?EGT ? ? >=
? ? ? ? * ?BETWEEN ? ? BETWEEN * AND *
? ? ? ? * ?NOTBETWEEN ? ? ?NOTBETWEEN * AND *
? ? ? ? * ?IN ? ? ?IN (*,*)
? ? ? ? * ?NOTIN ? NOT IN (*,*)
? ? ? ? */
// ? ? ? ?$sql = $db->where('id','eq',1)->buildSql();
? ? ? ?#鏈?zhǔn)讲僮?br /> ? ? ? ?/*
? ? ? ? *
? ? ? ? * ? ? ?指定排序 order('id','desc') 或者 order(['id'=>'desc','create_time'=>'desc'])
? ? ? ? *
? ? ? ? * ? ? ?指定分頁 page(page,listRow); ? ?page:頁數(shù) , listRow:每頁顯示行數(shù)
? ? ? ? *
? ? ? ? *
? ? ? ? *
? ? ? ? *
? ? ? ? */
? ? ? ?$res = $db
? ? ? ? ? ?->field('data,num')
// ? ? ? ? ? ?->order('id', 'desc')
// ? ? ? ? ? ?->limit(3,5)
? ? ? ? ? ?->group("name")
// ? ? ? ? ? ?->page(1, 5)
? ? ? ? ? ?->select();
? ? ? ?dump($res);
? ? ? ?return $this->fetch();
? ?}
// ? ?public function dbTest(){
// ? ? ? ?$data=Db::table('tp_5_test')->select();
// ? ? ? ?$this->assign('result',$data);
//
// ? ? ? ?return $this->fetch('dbTest');
// ? ?}
}查看全部 -
把數(shù)據(jù)庫完成同一件事的操作放在公共的方法里,在控制器中直接調(diào)用。
查看全部 -
update 返回影響的行數(shù)(同時更新多個字段)
?setField返回影響的行數(shù)(只更新一個字段)
setInc返回影響的行數(shù)(某個字段自增)
setDec返回影響的行數(shù)(某個字段自減)
查看全部 -
$res= $Db::name('user)->insert(['username'=>'mmm','email'=>'mmm@qq.com']);
insert 返回值是影響記錄的行數(shù),插入行。
insertGetId 返回插入數(shù)據(jù)的自增id
insertAll返回插入數(shù)據(jù)成功的行數(shù)。
每刷新一次就會執(zhí)行一次insert。
查看全部 -
Db::table('biaoming')->select();
有四種查詢方式,select(),column()返回多條記錄,當(dāng)不存在時返回空數(shù)組,find(),value()返回一條記錄,當(dāng)不存在時,返回null。
查看全部 -
1.四種連接方式
查看全部 -
修改器,在數(shù)據(jù)添加的時候可以修改數(shù)據(jù)
在模型中添加.
$data來自獲取的表單數(shù)組,set后為表字段名
public function setPasswordAttr($val,$data){
? ? return md5($val.$data['email']);
? ? //return md5($val);
}查看全部 -
controller/Index.php
<?php
namespace app\index\controller;
use think\Controller;
use app\index\model\User;
class Index extends Controller
{
? ? public function index()
? ??{
? ??? ??$res=User::get(2);
? ??? ??dump($res->sex);//輸出轉(zhuǎn)換后字段值? ??? ??dump($res->toArray());//獲取到轉(zhuǎn)換后數(shù)組
? ??? ??dump($res->getData());//獲取原生數(shù)組
? ? }
}查看全部 -
model/User.php
<?php
namespace app\index\model;
use think\Model;
classUser extends Model
{
? ? public function getSexAttr(){
? ? ? ? switch ($val) {
? ? ? ? ? ? case '1':
? ? ? ? ? ? ? ? return "男";
? ? ? ? ? ? ? ??break;
? ? ? ? ? ??case '2':
? ? ? ? ? ? ? ??return "女";
? ? ? ? ? ? ? ??break;
? ? ? ? ? ??default:
? ? ? ? ? ? ? ??return "未知";
? ? ? ? ? ? ? ??break;
? ??? ??}
? ??}
}查看全部 -
class
?Index?
extends
?Controller{
? ?public
?function
?index()
? ? {? ? ? ??
$res
?=?User::
count
();
? ? ? ??
$res
?=?User::where(
'id'
,
'>'
,
'5'
)->
count
();
? ? ? ??
$res
?=?User::max(
'age'
);
? ? ? ??
$res
?=?User::where(
'id'
,
'>'
,
'5'
)->
max
('num');
? ? ? ??
$res
?=?User::sum(
'age'
);
? ? ? ??
$res
?=?User::where(
'id'
,
'>'
,
'5'
)->
sum
('num');
? ? ? ??
$res
?=?User::min('age);
? ? ? ??
$res
?=?User::avg(
'age'
);
//都可以和第一個一樣帶條件查詢
? ? ? ??
dump(
$res
);
? ??
}
}
查看全部 -
namespace app\index\controller;
use think\Controller;
use app\index\model\User;
class Index extends Controller
{
? ? public function index()
? ? {
? ??? ??$res=User::destroy(function($query){
? ??? ??$query->where("id","<",5);
? ? ?? ??});? ??? ??$userModel=User::get(7);
? ??? ??$res=$userModel->delete();? ??? ??$res=User::where("id","<",9)
? ??? ??? ??->delete();? ??? ??dump($res);
? ? }
}查看全部 -
model中調(diào)用一下softdelete查看全部
-
namespace app\index\controller;
use think\Controlle;
use app\index\model\User;1、2方法需要//use think\Loader;3引入此類無需上行調(diào)用模型,下面可直接載入
class Index extends Controller
{
? ? public function index()
? ? {
? ? ? ? //1下面是靜態(tài)方法,推薦
? ? ? ? $res= User::get(2);? ? ? ??//2下面是實例化方式
? ? ? ? //$user= new User;
? ? ? ? //$res=$user::get(3);? ? ? ??//3下面是直接載入
? ? ? ? //$user= Loader::model("User");
? ? ? ? //$res= $use::get(4);? ? ? ??//4下面是利用助手函數(shù),此法上面不用引入任何類
? ? ? ? //$user= model("User");
? ? ? ? //$res=$user::get(6);?? ? ? ? $res=$res->toArray();
? ? ? ? dump($res);? ? }
}
查看全部 -
where("id",">",10)
field("username,id")
order("id desc")
limit(3,5)//從第三條開始,取5條
page(3,5)//從第三頁開始,取5條
select()查看全部 -
whereOr是OR關(guān)系
buildSql();輸出查詢語句
查看全部 -
$db->delete(2)返回影響行數(shù)。如果ID是主鍵,直接刪除id=2的值;也可前面加where條件。
查看全部 -
update返回影響的行數(shù),可更新多字段
setField返回影響的行數(shù),每次更新一個字段
setInc返回影響的行數(shù),不加第二參數(shù)每次加1,加參數(shù)則每次加參數(shù)值
setDec返回影響的行數(shù),不加第二參數(shù)每次減1,加參數(shù)則每次減參數(shù)值
查看全部 -
insertAll多條插入返回插入數(shù)據(jù)成功的行數(shù)
查看全部 -
insert返回值是影響記錄的行數(shù),即插入數(shù)
查看全部 -
insert返回值是影響記錄的行數(shù),即插入數(shù)
insertGetId返回插入數(shù)據(jù)的自增ID
insertAll返回插入數(shù)據(jù)成功的行數(shù)查看全部 -
Db::table('imooc_user')->find();每次不需要實例化
db('user')-find();每次調(diào)用會實例化
db('user',[],false)-find();添加第三個參數(shù)false就不會每次調(diào)用實例化查看全部 -
Db::name('user')->select();
Db::table('imooc_user')->find();兩者都返回二維數(shù)組
查看全部 -
value返回一條記錄,并且是這條記錄的某個字段值;
如果結(jié)果不存在,返回NULL。column返回一個一維數(shù)組,數(shù)組中的value值就是我們要獲取的列的值;
如果存在第二個參數(shù),就返回這個數(shù)組并且用第二個參數(shù)的值作為數(shù)組的key值。
如果不存在,返回空數(shù)組。查看全部 -
select返回所有記錄,返回的結(jié)果是一個二維數(shù)組;
如果結(jié)果不存在,返回一個空數(shù)組。find返回一條記錄,返回的結(jié)果是一個一位數(shù)組(本期講解中截圖有錯,下一期視頻有更正);
如果結(jié)果不存在,返回NULL.查看全部
舉報