3.0数据库操作与查询分为:(区间查询,统计查询,定位查询,原生查询)
1、select()返回值二维数组 等于findAll()
建议使用select()
2、field查询指定字段(连贯方法之一)
field("username","password")->select();
3、find() 只能查询一条记录 默认是根据主键进行查询,也有数组条件,但是注意的是该数组条件是连贯操作的表达式:
如果条件是id的话:可以直接写条件,默认就是id为条件:find(id=2)
$conditon["order"] ="id desc";
$conditon["where"] ="username = 'wjc'";
4、getByUsername("admin")
5、getfield(’字段1,字段2,字段3‘,spe分隔符)
用法:
getField($field,$sepa=null)
参数:
field(必须):要获取的字段字符串(多个用逗号分隔)
sepa(可选):字段数据间隔符号,如果是 NULL返回数组为数组。默认为null。
注:如果field是多个字段,返回数组。数组的索引是第一个字段的值,sepa为null则返回二维数组。
连贯操作中,如where group order limit select 等中select一定要在最后一个出现
区间查询:
$condition["id"] =array(array("gt",12),array("lt",15),"or");
or是两个查询的关联条件,默认不写为and
$arr= $user ->where($condition)->select();
统计查询:
"统计用户名的个数:". $user->count("username")."<br>";
"统计最大的id:".$user->max("id")."<br>";
"统计最小的id:".$user->min("id")."<br>";
"统计id的和:".$user->sum("id")."<br>";
"统计id的平均值:".$user->avg("id")."<br>";
定位查询:
这些查询需要高级模型的支持:AdvModel
自定义高级模型:class UserModel extends AdvModel()
自动切换为高级模型:switchModel(‘Adv’)->first()
dump($user->first());
dump($user->last());
dump($user->getN(index));1,2,3,4,5,6
原生查询:
query() 方法是用于 SQL 查询操作,和select()方法一样返回符合查询条件的数据集。
execute()方法用于更新和写入数据的 SQL 操作(注:非查询操作,无返回数据集),返回影响的记录数。