关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2712
39
分类目录
最新评论
- https://jueru.net/
-
评 留言
- :weixiao:
-
评 留言
- :shuijiao: :weiqu: :zhenbang: :leng:
-
评 留言
- :yiwen: :yiwen: :yiwen: :yiwen:
-
评 EasySass: could not generate CSS file. See Output panel for details.
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
<?php
namespace app\index\model;
use think\Model;
use think\Db;
class Articles extends Model {
/**
* 链式操作-cache方法用于查询缓存操作,也是连贯操作方法之一。
* cache可以用于select、find、value和column方法,以及其衍生方法,使用cache方法后,在缓存有效期之内不会再次进行数据库查询操作,而是直接获取缓存中的数据,关于数据缓存的类型和设置可以参考缓存部分。
*/
public function cache(){
$rs = Db::table('zht_articles')
->where('articleId',10)
->field('articleId,articleTitle')
->cache(true)
->find();
// 默认情况下, 缓存有效期是由默认的缓存配置参数决定的,但cache方法可以单独指定-表示对查询结果的缓存有效期60秒。
$rs = Db::table('zht_articles')
->where('articleId',11)
->field('articleId,articleTitle')
->cache(true,60)
->find();
// 或者使用下面的方式 是等效的
$rs = Db::table('zht_articles')
->where('articleId',12)
->field('articleId,articleTitle')
->cache(60)
->find();
// cache方法可以指定缓存标识:指定查询缓存的标识可以使得查询缓存更有效率。
$rs = Db::table('zht_articles')
->where('articleId',13)
->field('articleId,articleTitle')
->cache('key',60)
->find();
//$data = \think\Cache::get('key'); //提示错误,不知道什么问题
// cache方法支持设置缓存标签
$rs = Db::table('zht_articles')
->where('articleId',16)
->field('articleId,articleTitle')
->cache('keyy',60,'tagName')
->find();
// 缓存自动更新-当你删除或者更新数据的时候,可以调用相同key的cache方法,会自动更新(清除)缓存.最后查询的数据不会受第一条查询缓存的影响,确保查询和更新或者删除使用相同的缓存标识才能自动清除缓存。
$rs = Db::table('zht_articles')
->field('articleId,articleTitle')
->cache('user_data')
->select([5,6,7]);
$rs = Db::table('zht_articles')
->field('articleId,articleTitle')
->cache('user_data')
->update(['articleId'=>5,'articleTitle'=>'张三李四']);
$rs = Db::table('zht_articles')
->field('articleId,articleTitle')
->cache('user_data')
->select([5,7]);
// 如果使用find方法并且使用主键查询的情况,不需要指定缓存标识,会自动清理缓存
$rs = Db::table('zht_articles')
->field('articleId,articleTitle')
->cache(true)
->find(5);
$rs = Db::table('zht_articles')
->field('articleId,articleTitle')
->cache(true)
->update(['articleId'=>5,'articleTitle'=>'张三李四adfad']);
$rs = Db::table('zht_articles')
->field('articleId,articleTitle')
->cache(true)
->find(5);
echo Db::getlastsql();
dump($rs);
exit;
return $rs;
}
}
20190320
针对35行的问题,
//$data = \think\Cache::get('key'); //提示错误,不知道什么问题
修改
需要引入
use think\facade\Cache;
调用的时候用
$data = Cache::get('key');
就可以正常了
赏
相关推荐
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链式操作lock