-
数据库查询
$res = Db::table('aaa_tablename')->select("sql??,[?,?]")
$res = Db::name('tablename')-select("sql??,[?,?]")
$res = db(''tablename)->select("sql??,[?,?]")
query 全部记录 二维数组
select 全部记录 二维数组
find 第一条记录 一维数组
value 第一条记录 的一个字段值
column 获取全部的字段值 参数1 返回一维数组 参数2 后面是key 前面是值
-------------------select 和 column 返回多条记录 未查询到则返回空数组------------------
---------------------find 和 value 返回一条记录 未查询到则返回NULL---------------------查看全部 -
#返回一个二维数组,在不添加where条件下输出所有数据,如果结果不存在返回一个空数组
/*$res = Db::table('imooc_user')-> where([
'id' => "1"
])->select();*/
#一维数组,返回该列下的所有值,如果存在第二个参数,那个以第二个参数的值作为数组的key值,如果结果不存在,返回一个空数组
//$res = Db::table('imooc_user')->column('username','email');
#find方法,返回一个一维数组,返回一条数据,如不添加where条件默认返回正序排列下id最小的那一条记录,如果结果不存在返回null
/* $res = Db::table('imooc_user')->where([
'id' => "2"
])->find();*/
#返回一条记录,某个字段的值,当结果不存在返回null
// $res = Db::table('imooc_user')->where(['id'=>'2'])->value('username');
查看全部 -
一些操作数据库的方法;看截图
$res = Db::query("select * from imooc_user where id=?",[1]);
$res = Db::execute("insert into imooc_user set username =?,password=?,email=?", [
'imooc',
md5('imooc'),
'imooc@qq.com']);
查看全部 -
注意!!!
Db::connect()并没有连接到数据库,只有使用的时候,才连接数据库了查看全部 -
修改数据库配置的四种方式
1.可在config下的database.php返回配置信息,直接 Db::connect()(如果参数为空,那么会默认使用database.php中的配置连接)
2.在方法里面引入 use think\Db;Db::connect(array);数组即数据库连接配置
3.同样是Db::connect("mysql://root:password@127.0.0.1:3306:/databasename#utf8"); //use think\Db
4.在配置文件中,添加一个数组,Db::connect("数组键名");
//use think\Db查看全部 -
在控制器里面,动态的对数据库配置进行修改;方式之三
先在config.php里面把要修改的部分,赋值给db_config01这个数组;
控制器里面的写法是Db::connect('db_config01');查看全部 -
在控制器里面,动态的对数据库配置进行修改;方式之二(字符串方式的配置)
查看全部 -
在控制器里面,动态的对数据库配置进行修改;方式之一
查看全部 -
第一遍出错了。报错信息为
ERROR 1055 (42000): Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'course.imooc_user.group' which is not functionally dependent on columns in GROUP BY group; this is incompatible with sql_mode=only_full_group_by
解决方法参考:https://blog.csdn.net/wangyunfeis/article/details/77911704
查看全部 -
使用sql语句的方式查询数据库
查看全部 -
使用模型查询查看全部
-
全局自动写入时间戳字段 'auto_timestamp' => true(不建议开启全局时间戳,如果数据库没有create_time、update_time 字段会报错)
局部自动写入时间戳 'autoWriteTimestamp' = true
如果数据库不是使用 create_time、update_time 字段、则需要自定义修改时间戳字段
protected $createTime = '创建时间字段名';
protected $updateTime = '修改时间字段名';
查看全部 -
auto (新增及更新的时候自动完成的属性数组)
insert(仅新增的时候自动完成的属性数组)
update(仅更新的时候自动完成的属性数组)
读取器的命名规范是 -> get + 属性名的驼峰命名 + Attr
修改器的命名规范是 -> set + 属性名的驼峰命名 + Attr
查看全部 -
create 和 saveAll 返回的是一个对象
save 返回的是一个影响的行数
查看全部 -
三种引入模型类的方法
1、 use app\模块\model\模型名 (推荐使用,思路清晰易懂)
2、 use think\Loader (适合同时使用多个模型)
3、使用系统助手函数 model (不推荐使用,避免函数冲突)
查看全部
举报