php field的用法有:1、在查询操作中使用“$Model->field('id,title,content')->select();”方式;2、通过“$Model->field(array(…))”方法为某些字段定义别名等。
本文操作环境:Windows7系统、thinkphp v5.1版,Dell G3电脑
php中field的用法
ThinkPHP的连贯操作方法中field方法有很多的使用技巧,field方法主要目的是标识要返回或者操作的字段来源gaodai#ma#com搞@@代~&码网,下面详细道来。
1、用于查询
在查询操作中field方法是使用最频繁的。
$Model->field('id,title,content')->select();
这里使用field方法指定了查询的结果集中包含id,title,content三个字段的值。执行的SQL相当于:
SELECT id,title,content FROM table
当然,除了select方法之外,所有的查询方法,包括find等都可以使用field方法,这里只是以select为例说明。
上面的例子也可以使用数组代替:[-more-]
$Model->field(array('id','title','content'))->select();
最终执行的SQL和上面等效。
^_^似乎看起来数组的用法过于复杂,不过先别下这个结论,后面就会明白数组用法的好处了。
数组方式的定义可以为某些字段定义别名,例如:
- $Model->field(array('id','title'=>'name','content'))->select();
执行的SQL相当于:
- SELECT id,title as name,content FROM table
如果你希望直接使用:
- $Model->field('id,title as name,content')->select();
可能会得到错误的结果。
对于一些更复杂的字段要求,数组的优势则更加明显,例如:
- $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 table