【发布时间】:2015-08-07 17:43:34
【问题描述】:
我正在研究一个包的源代码,rtConner/laravel-tagging。在这个包中有一个名为TaggableTrait 的特征。在第 179 行,在一个名为 addTag() 的方法中,有一行我不明白:
$previousCount = $this->tagged()->where('tag_slug', '=', $tagSlug)->take(1)->count();
这条线有什么作用?具体来说,我的问题是 ->take(1)->count(); 部分,我们是否从 where 子句中取出 1 个条目然后计算它?
【问题讨论】:
-
看起来这里的逻辑是取第一个匹配 tag_slug 并计算你得到了多少。所以它返回 1 或 0。我猜这是类型杂耍的方式。计数在那里所以我们得到数字而不是标记的对象。
-
只有与
groupBy一起使用才有意义。否则它是多余的,正如下面的答案中已经说明的那样。
标签: laravel eloquent relationship