关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2655
39
分类目录
最新评论
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
文章标签更多
<?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模型删除