若天明 发表于 2015-2-3 23:30:05

PHP网页编程之thinkphp的field办法的用法总结,也许还...

让好朋友来看看,嘿,看咱写的多棒,然后再在网上宣传一下。   
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:

[*] SELECT * FROM table
然而这并非我说的获得一切字段,我但愿显式的挪用一切字段(关于对功能请求对照高的体系,这个请求其实不过度,最少是一个对照好的习气),那末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肯定快。

愤怒的大鸟 发表于 2015-2-3 23:51:18

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

第二个灵魂 发表于 2015-2-9 07:35:57

Ps:以上纯属原创,如有雷同,纯属巧合

飘飘悠悠 发表于 2015-2-27 04:31:08

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

仓酷云 发表于 2015-2-28 10:33:50

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

变相怪杰 发表于 2015-3-1 18:04:11

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

若天明 发表于 2015-3-10 21:40:25

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

admin 发表于 2015-3-12 09:58:23

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

再现理想 发表于 2015-3-19 19:49:44

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

谁可相欹 发表于 2015-3-20 07:22:33

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

蒙在股里 发表于 2015-3-26 19:33:26

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

分手快乐 发表于 2015-4-26 15:10:48

基础有没有对学习php没有太大区别,关键是兴趣。

不帅 发表于 2015-5-2 00:48:24

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

因胸联盟 发表于 2015-7-3 20:26:08

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

若相依 发表于 2015-7-17 01:46:03

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

只想知道 发表于 2015-7-17 23:12:12

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

乐观 发表于 2015-9-27 03:55:54

本文当是我的笔记啦,遇到的问题随时填充

山那边是海 发表于 2015-10-2 09:38:33

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

小妖女 发表于 2015-10-2 09:40:01

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

简单生活 发表于 2015-10-15 21:09:46

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
页: [1] 2
查看完整版本: PHP网页编程之thinkphp的field办法的用法总结,也许还...