我是阿北,Yii学习社群正在搞技术文竞赛(获胜者送VIP权限),邀请你参加。 另外我的订阅号送书中,看详情
阿北
阿北 发布于 3个月前

2018-03-12 / [PHP] 就是说yii2中每次 +1 这点事儿

你可能会说,这点事还值得一提么?

那我今天给你说,你真未必知道。

经常有这样的需求,请记录文章的阅读量,打开一次就加一次,你迅速的写下了如下代码。

$model = Article::findOne($id);
$model->hits += 1;
$model->update();

恭喜你,没有写错。但是,要知道,我们对一个框架的熟悉程度就是当遇到问题的时候是否可以通过框架自身配置和方法解决,而非跳出框架去解决。

你是否知道yii2的Active Record专门提供了一个方法来做这个事情,就是说可以调用 $model->xxxx 来实现。

我的问题是:这个xxxx方法是啥并简单说明其好处。

什么?不知道?这么重要的Active Record你咋能不熟悉,赶紧去学~~~

///////////////

5、6、7楼回答的均正确。

1-8条,共8条数据.
My dream
3个月前
# 565

这个好,我正在找怎么实现

My dream
3个月前
# 566

那减1是怎么实现的呢?

My dream
3个月前
# 567

麻烦北哥把减1的一起说一下哈

My dream
3个月前
# 568

比如有这样一个需求:在一个班级中,学员在学生表每增加一个,班级表中对应的学生数就加1,减少一个,那么在班级表中就减一


+0

你这个需求用事件比较好,和这个题不是一回事。

来瓶酱油
3个月前
# 569

updateCounter方法

小浪
3个月前
# 570

$model->updateCounters(['hits' => 1]);

DW
3个月前
# 571

BaseActiveRecord

$post->updateCounters(['view_count' => 1])
小何
3个月前
# 584

这个还真不知道5555

-
在线