关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2698
39
分类目录
最新评论
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
文章标签更多
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | <?php namespace app\index\model; use think\Model; use think\Db; class User extends Model { protected $pk = 'id' ; /** * 查询-模型查询和数据库查询方法的区别主要在于,模型中的查询的数据在获取的时候会经过获取器的处理,以及更加对象化的获取方式 */ public function selectFun1(){ // 获取单个数据 // 取出主键为1的数据 $user = User::get(13); //echo $user->name; echo $user [ 'name' ]; exit ; return $rs ; } /** * 查询-模型查询和数据库查询方法的区别主要在于,模型中的查询的数据在获取的时候会经过获取器的处理,以及更加对象化的获取方式 */ public function selectFun2(){ // 使用查询构造器查询满足条件的数据 $user = User::where( 'name' , 'thinkphp' )->find(); //echo $user->name; echo $user [ 'name' ]; exit ; return $rs ; } /** * 查询-V5.1.23+版本开始,可以使用findOrEmpty方法,当查询数据不存在的话,返回空模型而不是Null。 */ public function selectFun3(){ // 使用查询构造器查询满足条件的数据 $user = User::where( 'name' , 'thinkphp2' )->findOrEmpty(); //echo $user->name; //echo $user['name']; echo $user ->getAttr( 'name' ); // 如果你是在模型内部获取模型数据,请不要使用$this->name的方式来获取数据,请使用$this->getAttr('name') 替代。-不太懂 echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-获取多个数据 */ public function selectFun4(){ // 根据主键获取多个数据 $list = User::all( '11,12,13' ); // 或者使用数组 $list = User::all([14,15,13]); // 对数据集进行遍历操作 foreach ( $list as $key => $user ){ echo $user ->getAttr( 'name' ). '<br>' ; } dump( $list ); echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-要更多的查询支持,一样可以使用查询构造器: */ public function selectFun5(){ // 使用查询构造器查询 $list = User::where( 'status' , 1)->limit(3)->order( 'id' , 'asc' )->select(); foreach ( $list as $key => $user ){ //echo $user->name; echo $user ->getAttr( 'name' ). '<br>' ; } dump( $list ); echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-V5.1.21+版本开始,可以在all方法之前使用Db类的查询链式操作, */ public function selectFun6(){ // 使用查询构造器查询 $list = User::where( 'status' , 1)->limit(3)->order( 'id' , 'asc' )->all(); foreach ( $list as $key => $user ){ //echo $user->name; echo $user ->getAttr( 'name' ). '<br>' ; } dump( $list ); echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-使用查询构造器 */ public function selectFun7(){ $list = User::where( 'id' ,13)->find(); $list = User::where( 'status' ,1)->order( 'id desc' )->select(); $list = User::where( 'status' ,1)->limit(10)->select(); dump( $list ); echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-获取某个字段或者某个列的值 */ public function selectFun8(){ // 获取某个用户的积分 $list = User::where( 'id' ,13)->value( 'score' ); // 获取某个列的所有值 $list = User::where( 'status' ,1)->column( 'name' ); // 以id为索引 $list = User::where( 'status' ,1)->column( 'name' , 'id' ); dump( $list ); echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-动态查询 */ public function selectFun9(){ // 根据name字段查询用户 $user = User::getByName( 'thinkphp' ); // 根据email字段查询用户 $user = User::getByEmail( 'thinkphp@qq.com' ); dump( $user ); echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-聚合查询 */ public function selectFun10(){ $user = User:: count (); $user = User::where( 'status' , '>' ,0)-> count (); $user = User::where( 'status' ,1)->avg( 'score' ); $user = User::max( 'score' ); dump( $user ); echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-使用游标查询 */ public function selectFun11(){ foreach (User::where( 'status' , 1)->cursor() as $user ){ //echo $user->name; echo $user ->getAttr( 'name' ). '<br>' ; } dump( $user ); echo Db::getlastsql(); exit ; return $rs ; } /** * 查询-查询缓存 */ public function selectFun(){ // get方法和all方法的支持使用查询缓存,可以直接在第二个参数传入true表示开启查询缓存。 $user = User::get(1,true); $list = User::all( '1,2,3' ,true); // 如果要设置缓存标识,则必须在第三个参数传入缓存标识。 $user = User::get(1, '' , 'user' ); $list = User::all( '1,2,3' , '' , 'user_list' ); dump( $user ); echo Db::getlastsql(); exit ; return $rs ; } /** * 最佳实践-模型查询的最佳实践原则是:在模型外部使用静态方法进行查询,内部使用动态方法查询,包括使用数据库的查询构造器。模型的查询始终返回对象实例,但可以和数组一样使用。 */ } |
赏


相关推荐
Non-static method think\Config::get() should not be called statically
原来是这样use think\Config;
改成这样use think\facade\Config;
下面是官方手册的解释
配置获取
要使用Config类,首先需要在你的类文件中引入
use think\facade\Config;
或者(因为系统做了类库别名,其实就是调用think\facade\Config)
u...
thinkPHP5 order多条件排序
总结如下:
//单一条件排序
$user = $this->where(['parentId'=>0)->field('userId,userName,userSort,isShow')->order('userSort', 'asc')->select();
//多个条件排序,可以多加一个order...
评论加载中...
前一篇: thinkphp5.1模型删除