ThinkPHP快速入门3-连贯操作,变量

连贯操作

例:假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 ,代码如下:

$User->where('status=1')->order('create_time')->limit(10)->select();

注:
1)除了select方法必须放到最后一个外(因为select方法并不是连贯操作方法),连贯操作的方法调用顺序没有先后。
2)连贯操作的结果不会带入以后的查询

用法
WHERE:用于查询或者更新条件的定义
TABLE:定义要操作的数据表名称,动态改变当前操作的数据表名称,需要写数据表的全名,包含前缀,可以使用别名和跨库操作(一般情况下,无需调用)
DATA:可以用于新增或者保存数据之前的数据对象赋值

FIELD: 用于定义要查询的字段
1)如果需要显式的传入所有的字段

$Model->field(true)->select();   

2)字段排除方式

$Model->field('status',true)->select();

表示获取除了status之外的所有字段

ORDER:用于对操作结果排序
LIMIT:用于定义要查询的结果限制(支持所有的数据库类型)
PAGE:用于定义要查询的数据分页
GROUP:用于数据库的group查询支持
HAVING:用于数据库的having查询支持
JOIN: 用于数据库的join查询支持
UNION:用于数据库的union查询支持。每个union方法相当于一个独立的SELECT语句。
DISTINCT:查询数据的时候进行唯一过滤
LOCK:用于查询或者写入锁定
VALIDATE:用于数据的自动验证
AUTO:用于数据自动完成
SCOPE:用于模型的命名范围
FILTER:用于数据的安全过滤

变量


获取变量

I('变量类型.变量名/修饰符',['默认值'],['过滤方法'],['额外数据源'])

注意:
1. 变量类型不区分大小写。
2. 变量名则严格区分大小写。
3. 默认值和过滤方法均属于可选参数
例:

I('post.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_POST['name'] 进行过滤,如果不存在则返回空字符串
I('session.user_id',0); // 获取$_SESSION['user_id'] 如果不存在则默认为0
I('cookie.'); // 获取整个 $_COOKIE 数组
I('server.REQUEST_METHOD'); // 获取 $_SERVER['REQUEST_METHOD'] 

param变量类型是框架特有的支持自动判断当前请求类型的变量获取方式

变量过滤


如果你没有在调用I函数的时候指定过滤方法的话,系统会采用默认的过滤机制(由DEFAULT_FILTER配置)


变量修饰符

I('变量类型.变量名/修饰符');

ThinkPHP快速入门3-连贯操作,变量_第1张图片

你可能感兴趣的:(笔记,thinkphp)