|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
让好朋友来看看,嘿,看咱写的多棒,然后再在网上宣传一下。
ThinkPHP的联贯操作办法中field办法有良多的利用技能,field办法次要目标是标识要前往或操作的字段,上面具体道来。
1、用于查询
在查询操作中field办法是利用最频仍的。
- $Model->field('id,title,content')->select();
这里利用field办法指定了查询的了局集中包括id,title,content三个字段的值。履行的SQL相当于:
- SELECT id,title,content FROM table
固然,除select办法以外,一切的查询办法,包含find等都可使用field办法,这里只是以select为例申明。
下面的例子也能够利用数组取代:
- $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
想必人人都分明了,关于需求在field中利用SQL函数的情形,数组体例可以很好的处理。
是否是field办法就这么点感化了呢?假如你这么以为,那就太低估ThinkPHP的field办法了,ThinkPHP思索的细节远比你想象的要周密^_^。
先看上面的情形,假如有一个表有十分多的字段,并且有两个需求,起首请求需求获得一切的字段,这个或许很复杂,由于不挪用field办法或直接利用空的field办法都能做到,现实上,切实其实如斯:
- $Model->select();
- $Model->field()->select();
- $Model->field('*')->select();
下面三个用法是等效的,都相当于履行SQL:
然而这并非我说的获得一切字段,我但愿显式的挪用一切字段(关于对功能请求对照高的体系,这个请求其实不过度,最少是一个对照好的习气),那末OK,依然很复杂,上面的用法可以完成预期的感化:
- $Model->field(true)->select();
fied(true)的用法会显式的获得数据表的一切字段列表,哪怕你的数据表有100个字段。
第二个需求是我但愿获得扫除content字段(文本字段的值十分耗内存)以外的一切字段值,咱们就能够利用field办法的扫除功效,例以下面的体例就能够完成所说的功效:
- $Model->field('content',true)->select();
要扫除更多的字段也能够:
- $Model->field('user_id,content',true)->select();
- //或用
- $Model->field(array('user_id','content'),true)->select();
2、用于写入
除查询操作以外,field办法还有一个十分主要的平安功效--字段正当性检测(注重:该功效3.1版本入手下手才干撑持)。field办法联合create办法利用就能够完成表单提交的字段正当性检测,假如咱们在表单提交的处置办法中利用了:
- $Model->field('title,email,content')->create();
即暗示表单中的正当字段只要title,email和content字段,不管用户经由过程甚么手腕更改或添加了阅读器的提交字段,城市直接屏障。由于,其他是一切字段咱们都不但愿由用户提交来决意,你可以经由过程主动完胜利能界说额定的字段写入。
总结
从field办法的用法咱们应当可以懂得甚么叫做小办法大用法,固然,咱们只是但愿ThinkPHP给你的开辟带来更多的便利和惊异,接待人人一同来分享你的用法和心得!
学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。 |
|