-
配置自动写入时间戳
查看全部 -
#查询
//获取单个数据
// $res=User::get(1);
//获取多个数据
// $res = User::all('1,2,3');
// foreach ($res AS $val){
// dump($val->toArray());
// }
//获取指令列的数据,返回值为数组
// $res = User::column('name,age');
// dump($res);
#插入
// $res = User::create([
// 'name'=>'cc',
// 'age'=>13
// ]);
//save()更便捷,返回数组
//allowField(*); 参数为true时,过滤不存在的字段。 参数为存在的字段时,save的数组内只添加该字段的值。
// $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();推荐使用 使用闭包函数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();
// 返回单个字段数据
// $res=Db::table('tp_5_test')->value('data');
// 返回一组字段数据,可以存在第二个参数,并以第二个参数为Key输出
// $res=Db::table('tp_5_test')->column('data');
// 插入数据 insert();
// insertGetId();此方法运行后,返回主键id
// $res=$db->insertGetId([
// 'name' => 'nono',
// 'data' =>md5('bad')
// ]);
// dump($res);
// $last=db('test')->select();
// dump($last);
// insertAll();插入数组/一组数据,返回插入数据成功的行数
// $data=[];
// for ($i=0;$i<10;$i++){
// $data[]=[
// 'name' =>'yeye'.$i,
// 'data' =>md5('see'.$i)
// ];
// }
// $res=$db->insertAll($data);
// dump($res);
// update() 可以改变多字段信息,返回影响行数
// $res= $db->where([
// 'id'=>1
// ])->update([
// 'name'=>'abc',
// 'data'=>md5('ssss')
// ]);
// setField(); 每次变更一个字段信息,返回影响行数
// $res = $db->where([
// 'id'=>1
// ])->setField('name','qwe');
// setInc(a,b); 每次执行(字段)都自增. 默认不写第二参数自增1,第二参数是多少就自增多少。返回影响行数
// $res=$db->where(['id'=>1])->setInc('num');//+1
// $res=$db->where(['id'=>1])->setInc('num',5);//+5
// setDec(); 每次执行都自减.
// $res=$db->where(['id'=>1])->setDec('num');
// $res=$db->where(['id'=>1])->setDec('num',5);
// delete();不添加where条件时,按主键删除时,直接添加参数即可 例:delete(2);
// $res=$db->delete(2);
#条件构造器,条件信息
/* 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();
#链式操作
/*
*
* 指定排序 order('id','desc') 或者 order(['id'=>'desc','create_time'=>'desc'])
*
* 指定分页 page(page,listRow); page:页数 , listRow:每页显示行数
*
*
*
*
*/
$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');
// }
}查看全部 -
把数据库完成同一件事的操作放在公共的方法里,在控制器中直接调用。
查看全部 -
update 返回影响的行数(同时更新多个字段)
setField返回影响的行数(只更新一个字段)
setInc返回影响的行数(某个字段自增)
setDec返回影响的行数(某个字段自减)
查看全部 -
$res= $Db::name('user)->insert(['username'=>'mmm','email'=>'mmm@qq.com']);
insert 返回值是影响记录的行数,插入行。
insertGetId 返回插入数据的自增id
insertAll返回插入数据成功的行数。
每刷新一次就会执行一次insert。
查看全部 -
Db::table('biaoming')->select();
有四种查询方式,select(),column()返回多条记录,当不存在时返回空数组,find(),value()返回一条记录,当不存在时,返回null。
查看全部 -
1.四种连接方式
查看全部 -
修改器,在数据添加的时候可以修改数据
在模型中添加.
$data来自获取的表单数组,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);//输出转换后字段值dump($res->toArray());//获取到转换后数组
dump($res->getData());//获取原生数组
}
}查看全部 -
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中调用一下softdelete查看全部
-
namespace app\index\controller;
use think\Controlle;
use app\index\model\User;1、2方法需要//use think\Loader;3引入此类无需上行调用模型,下面可直接载入
class Index extends Controller
{
public function index()
{
//1下面是静态方法,推荐
$res= User::get(2);//2下面是实例化方式
//$user= new User;
//$res=$user::get(3);//3下面是直接载入
//$user= Loader::model("User");
//$res= $use::get(4);//4下面是利用助手函数,此法上面不用引入任何类
//$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关系
buildSql();输出查询语句
查看全部 -
$db->delete(2)返回影响行数。如果ID是主键,直接删除id=2的值;也可前面加where条件。
查看全部 -
update返回影响的行数,可更新多字段
setField返回影响的行数,每次更新一个字段
setInc返回影响的行数,不加第二参数每次加1,加参数则每次加参数值
setDec返回影响的行数,不加第二参数每次减1,加参数则每次减参数值
查看全部 -
insertAll多条插入返回插入数据成功的行数
查看全部 -
insert返回值是影响记录的行数,即插入数
查看全部 -
insert返回值是影响记录的行数,即插入数
insertGetId返回插入数据的自增ID
insertAll返回插入数据成功的行数查看全部 -
Db::table('imooc_user')->find();每次不需要实例化
db('user')-find();每次调用会实例化
db('user',[],false)-find();添加第三个参数false就不会每次调用实例化查看全部 -
Db::name('user')->select();
Db::table('imooc_user')->find();两者都返回二维数组
查看全部 -
value返回一条记录,并且是这条记录的某个字段值;
如果结果不存在,返回NULL。column返回一个一维数组,数组中的value值就是我们要获取的列的值;
如果存在第二个参数,就返回这个数组并且用第二个参数的值作为数组的key值。
如果不存在,返回空数组。查看全部 -
select返回所有记录,返回的结果是一个二维数组;
如果结果不存在,返回一个空数组。find返回一条记录,返回的结果是一个一位数组(本期讲解中截图有错,下一期视频有更正);
如果结果不存在,返回NULL.查看全部
举报