-
插入多条数据
查看全部 -
成员方法(get字段名Attr)[字段名首字母大写]
在model中使用 后面有代码
在controller中use下model中的类(该类需继承model类)
后利用各种查询方法获取数据值
可利用toArray获取改后数据
可利用getData获取改前数据
<?php namespace app\index\model; use think\Model; class User extends Model{ #获取器的设置 get字段名Attr(注意字段名开头大写) public function getSexAttr($value){ switch ($value) { case '1': return '男'; break; case '2': return '女'; break; default: return '未知'; break; } } }
<?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());//toArray()获取改后数据 dump($res->getData());//getData()获取原始数据 } }
查看全部 -
<!-- Db::name 助手函数-->
Db::name('不加前缀数据库名')->insert($一维数组) 返回值是影响记录的行数
Db::name('不加前缀数据库名')->insertGetId($一维数组) 返回ID
Db::name('不加前缀数据库名')->insertAll($二维数组) 返回成功插入行数
查看全部 -
$res = User::destroy(function($query){
$query->where('id','<','5'); 使用闭包函数删除
//返回影响的行数
});
dump($res);
$userModel =User::get(6); 先调用后删除
$res = $userModel->delete();
dump($res);
# 全部删除("1=1")
$res = User::where('id','<',8)->delete(); #where方法删除
dump($res);
查看全部 -
->where('字段名','表达式','值')
->whereOr('字段名','表达式','值')
$db = Db::name('user');
$sql = $db
->where('id','in','1,2,3')
->whereOr('username','eq','morankin')
->whereOr('num','lt','10')
->where('email','morankin@qq.com')
->buildSql();
以上其实就是定义了一个筛选条件但是老师给的这个其实筛选条件没有什么必要 and 在我这里认为比or是 小一级的(后面会解释) , 条件满足id 为1,2,3,和email 为Morankin@qq.com 或者满足username 为morankin的 再或者 满足 num 小于10的
我任务这样其实我们就有了3个条件
一个为(id and email )一个为username 一个为num
其实怎么理解都可以,我这个我比较好理解罢了 但是这样的筛选条件其实没有必要,也可以说无意义的 毕竟是给大家练习的
不区分大小写
EQ =
NEQ <>
LT <
ELT <=
GT >
EGT >=
BETWEEM BETWEEN * AND *
NOTBETWEEN NOTBETWEEN * AND *
IN IN (*,*)
NOTIN NOT IN (*,*)
查看全部 -
# delete 返回影响的行数 对数据库进行删除 如果想要删除的为主键 可以不需要加where 直接在delete(添加主键id值)
DB::name(user) ->where(['id'=>1])->delete();
DB::name(user)->delete(1);
查看全部 -
update() 返回影响的行数 可以影响一个数组
setField() 返回影响的行数 只能影响一个字段
setInc() 返回影响的行数 每次递增 默认递增值为1
setDec() 返回影响的行数 每次递减 默认递增值为1
查看全部 -
版本 调整功能 5.0.9 db助手函数默认不再强制重新查看全部
-
value 返回一条记录 返回的结果并且是字条记录的某个字段
如果结果不存在返回 NULL
Db::table('lx1_user')->where(['id'=>'2'])->value('username');
查看全部 -
find 返回一条记录 返回的结果是一个一维数组 而其中的where 是为了更准确的查找到所需要的记录 就是可以添加一个字段名 比如你想要id为1的记录或者是username为xxx的
->where(['字段名'=>'字段名的数据'])
Db::table('lx1_user')->where(['id'=>'10']) -> find();
查看全部 -
源生方法的数据插入数据表
Db::execute("insert into lx1_user set username=?,password=?,email=?",[
'morankin',md5('123'),'morankin@qq.com'
]);
?是给数据类名一个位置变量
后面添加数据也是按照前面 ? 的先后排列的
数组第一个单元替换前面查询语句的第一个问号,第二个单元替换第二个问号,以此类推
查看全部 -
全局添加更新时间需要在表中新建create_time和update_time字段,配置文件中设置“auto_timestamp"=>true,一般不开启这个功能,否则表中不存在该字段时会报错,真正删除需要把destroy方法或delete方法的第二个参数设置为true
查看全部 -
模型获取器的设置 注意格式 get字段属性名Attr 会自动调用
查看全部 -
saveAll 可以批量更新内容
查看全部 -
saveAll 一次增加多条内容
查看全部
举报