详细信息 您现在的位置是:首页 > ThinkPHP

TP中field的使用技巧

来源:小程 发布时间:2022-02-18 1607 人已围观

摘要TP中field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作。

1、用于查询筛选字段

在查询操作中field方法是使用最频繁的。 

$Model->field('id,title,content')->select();

2、使用SQL函数,可以在field方法中直接使用函数做数据求和、平均值等计算

$Model->field('id,SUM(score)')->select();

3、组建一些新的字段

对于一些更复杂的字段要求,数组的优势则更加明显,例如:

$Model->field(array('id','concat(name,'-',id)'=>'truename','LEFT(title,7)'=>'sub_title'))->select();

执行的SQL相当于:

SELECT id,concat(name,'-',id) as truename,LEFT(title,7) as sub_title FROM 表

4、用于写入

除了查询操作之外,field方法还有一个非常重要的安全功能--字段合法性检测。field方法结合create方法使用就可以完成表单提交的字段合法性检测,如果我们在表单提交的处理方法中使用了: 

$Model->field('title,email,content')->create();

即表示表单中的合法字段只有title,email和content字段,无论用户通过什么手段更改或者添加了浏览器的提交字段,都会直接屏蔽。因为,其他是所有字段我们都不希望由用户提交来决定,你可以通过自动完成功能定义额外的字段写入。


同样的,field也可以结合add和save方法,进行字段过滤,例如: 

$Model->field('title,email,content')->save($data);

如果data数据中包含有title,email,content之外的字段数据的话,也会过滤掉。


站点信息

  • 博主:小程
  • QQ:1697915848
  • 邮箱:1697915848@qq.com