-
tp里面更新数据的两种方式
1.
$model::where(array('字段'=>'值'))->update(array($change));
或者如图所示;
查看全部 -
use think\Db;
$db = Db::name('table');
$db->insert($data); //返回值是影响记录的行数 插入数
$db->insertGetId($data); //返回插入数的自增id
$db->insertAll($data); //返回插入的成功行数
查看全部 -
软删除:
首先在模型里面引用SoftDelete
<?php
namespace app\index\model;
use think\Model;
use traits\model\SoftDelete;
class User extends Model{
use SoftDelete;
#删除数据的时候删除时间戳默认写入字段delete_time中,当要自定义时:
// protected $deleteTime = '自定义删除时间字段名';
}
然后在控制器里面执行操作:
public function index(){
// $res = User::destroy(4);//被软删除
// $res = User::get(4);//返回NULL
#查询包含已删除的数据
//$res = User::withTrashed(true)->find(2);
#查询仅包含已删除的数据
$res = User::onlyTrashed()->select();
foreach ($res as $val){
dump($val);
}
#若要恢复被软删除的数据,直接用update方式将delete_time的值设置为NULL即可
#当开启软删除后要想真正彻底删除数据,在destroy的第二个参数后面传入一个true值
$res = User::destroy(1,true);
#通过get方式进行软删除/删除
$res = User::get(3);//如果此处数据已经被软删除则获取到的为NULL,后面的操作无效
$user->delete();//软删除
$res = $user->delete(true);//删除
}
查看全部 -
全局添加更新时间需要在表中新建create_time和update_time字段,配置文件中设置“auto_timestamp"=>true,一般不开启这个功能,否则表中不存在该字段时会报错,真正删除需要把destroy方法或delete方法的第二个参数设置为true
123456789 use
think\Model;
use
traits\model\SoftDelete;
class
User
extends
Model{
use
SoftDelete;使用软删除
protected
$autoWriteTimestamp
= true;
//开启自动更新时间
protected
$createTime
= false;
//设置为false代表不使用创建时间
protected
$updateTime
=
"update_at"
;
//设置自定义更新时间的字段
protected
$deleteTime
=
"delete_at"
;
//设置自定义的软删除字段
}
查看全部 -
auto (新增及更新的时候自动完成的属性数组)
insert(仅新增的时候自动完成的属性数组)
update(仅更新的时候自动完成的属性数组)
查看全部 -
<?php
namespace
app\index\model;
use
think\Model;
class
User
extends
Model{
protected
$auto
= [
'time'
];
protected
$insert
= [
'time_insert'
];
protected
$update
= [
'time_update'
];
public
function
setPasswordAttr(
$val
,
$data
){
//第二个参数是数组数据
return
$val
.
$data
[
'email'
];
return
md5(
$val
);
}
public
function
setTimeAttr(){
return
time();
}
public
function
setTimeInsertAttr(){
return
time();
}
public
function
setTimeUpdateAttr(){
return
time();
}
}
查看全部 -
<?php
namespace
app\index\model;
use
think\Model;
class
User
extends
Model{
public
function
getSexAttr(
$val
){
switch
(
$val
){
case
'1'
:
return
"男"
;
break
;
case
'2'
:
return
"女"
;
break
;
default
:
return
"未知"
;
break
;
}
}
}
查看全部 -
模型获取器 成员方法(get字段名Attr)[字段名首字母大写] 在model中使用 在controller中use下model中的类(该类需继承model类),利用 类名::get() 进行获取数据值 可利用toArray获取改后数据 可利用getData获取改前数据
查看全部 -
count User::count(); max User::max('字段名') sum User::sum('字段名') avg User::avg('字段名') min User::min('字段名') 都可以和where条件合作
查看全部 -
destroy对数据库删除的操作 $userModel = User::get(7); $res = $userModel->delete();//对数据库删除的操作 $res = User::where("1=1") -> delete();//1=1 清空数据库
查看全部 -
<?php
namespace
app\index\controller;
use
think\Controller;
use
app\index\model\User;
class
Index
extends
Controller
{
public
function
index(){
#destroy返回影响行数
// $res = User::destroy(function ($query){
// $query->where('id','<',5)
// ->whereOr('id','>',10) ;
// });
// dump($res);
#get返回影响行数
// $userModel = User::get(7);
// $res = $userModel->delete();
// dump($res);
#
delete
,返回影响行数
$res
= User::where(
'id'
,10)->
delete
();
dump(
$res
);
}
}
查看全部 -
<?php
namespace
app\index\controller;
use
think\Controller;
use
app\index\model\User;
class
Index
extends
Controller
{
public
function
index(){
#当数据中存在自增id时,数据更新方式,返回修改的内容,无法验证是否更改
// $res = User::update([
// 'id' => 1,
// 'username' => 'wenco_update'
// ]);
// dump($res->toArray());
#当数据中不存在自增id时如下,第二个参数即为where,可以为闭包函数,返回修改内容
// $res = User::update([
// 'username' => 'wenco_update'
// 当第二个参数为数组 ],['id' => '2']);
//当第二个参数为闭包函数 ],function ($query){
// $query->where('id','>=', 15);
// });
#where 返回被影响行数,推荐使用!
// $res = User::where('id','between',[1,5])->update([
// 'username' => 'wenco_old'
// ]);
// dump($res);
#User::get,返回被影响行数
// $userModel = User::get(1);
// $userModel->username = '123';
// $userModel->email = '123@qq.com';
// $res = $userModel->save();
// dump($res);
#
new
User,返回影响行数,第二个参数可以为闭包函数
// $userModel = new User;
// $res = $userModel->save([
// 'username' => 555
// ],['id' => 18]);
// dump($res);
#saveAll,返回结果集,不推荐使用
$userModel
=
new
User;
$res
=
$userModel
->saveAll([
[
'id'
=> 1,
'username'
=>
'wencocococ'
],
[
'id'
=> 2,
'username'
=>
'wencocococ'
]
]);
dump(
$res
);
}
}
查看全部 -
// $res = User::create([ // 'username' => 'imooc', // 'password' => md5('imooc'), // 'email' => 'imooc@qq.com', // 'num' => 100, // 'demo' => 123 // ], ['username', 'email']); // $userModel = new User; // $userModel->username = '17771258'; // $userModel->email = '17771258@qq.com'; // $userModel->password = md5('17771258'); // $userModel->save(); // $userModel = new User; // $res = $userModel // ->allowField('username') // ->save([ // 'username' => 'imooc1', // 'password' => md5('imooc1'), // 'demo' => 123 // ]); $userModel = new User; $res = $userModel->saveAll([ ['email'=> '17771258@qq.com'], ['email'=> '17771259@qq.com'] ]); foreach($res as $val) { dump($val->toArray()); } //dump($res); //dump($res);
查看全部 -
Model->get 返回对象 用toarray 获取信息
查看全部 -
使用模型查询数据;#通过get方式获取数据,括号内可以为主键,也可以为闭包函数
// $res = User::get(function($query){
// $query->where("username","eq","wenco_3")
// ->field("email");
// });
// $res = User::where("id","<=",15)
// ->field("id,username")
// ->limit(19)
// ->order("id" ,"DESC")
// ->select();
查看全部
举报