|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
培训的第三阶段,开始接触MYSQL,设计数据库,学习PHP如何去连接MYSQL数据库。对于MYSQL,我并不陌生,因为学校开设了Linux系统的课程,对于数据库的操作。在进修thinkphp的过程当中,必要对多表举行操纵,可是在实践过程当中,老是碰到各类成绩,以是写下这篇博文,作为本人的进修过程在操纵过程当中,两表查询都没有成绩,可是三表查询就入手下手呈现成绩有以下三张表,分表为pl表(uid,content),user表(id,username),lyb表(uid,title)多表查询操纵有以下几种办法:㈠视图模子(保举)界说视图模子,只必要承继ThinkModelViewModel,然后设置viewFields属性便可复制代码public$viewFields=array(pl=>array(uid,rid,content),user=>array(id,username,_on=>pl.uid=user.id),lyb=>array(uid=>lid,content=>lyb_content,title,_on=>pl.uid=lyb.uid), //假如表中有字段重名,能够经由过程=>设置别号,uid=>lid);复制代码视图查询:视图查询和分歧模子的查询一样,没有甚么区分。$Model=D("pl")->field(uid,title,username,lyb_content)->select();//pl为数据库名假如发明查询的了局存在反复数据,还可使用group办法来处置。㈡joinJOIN办法也是联贯操纵办法之一,用于依据两个或多个表中的列之间的干系,从这些表中查询数据。join一般有上面几品种型,分歧范例的join操纵会影响前往的数据了局。INNERJOIN:假如表中有最少一个婚配,则前往行,同等于JOINLEFTJOIN:即便右表中没有婚配,也从左表前往一切的行RIGHTJOIN:即便左表中没有婚配,也从右表前往一切的行FULLJOIN:只需个中一个表中存在婚配,就前往行join办法能够撑持以上四品种型:一样是对以上三张表举行操纵$Model=D("pl") ->join(lybonpl.uid=lyb.uid) ->join(useronpl.uid=user.id) ->field(user.username,lyb.title,pl.content) ->select();㈢tabletable办法也属于模子类的联贯操纵办法之一,次要用于指定操纵的数据表。用法一样平常情形下,操纵模子的时分体系可以主动辨认以后对应的数据表,以是,利用table办法的情形一般是为了:切换操纵的数据表;对多表举行操纵; $Model=D("pl") ->field(pl.content,user.username,lyb.title) ->table(pl,lyb,user) ->limit(10) ->select();注:table办法默许查询的是一切字段的值通过这段时间的学习实践,对软件开发有了更多新的认识,不在局限于之前的片面性。当然,现在所学到的工具其实并不多,离当一个真正的程序员,还有很大的差距。 |
|