- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个函数 allArticlesCount
,它计算所有有 draft 1
的文章。
$allArticlesCount = Article::where('draft', 1)->count();
我还有一个统计特定类别文章数量的函数,我用的是withCount
,但是她统计的绝对是所有文章,我只需要with draft 1
$categories = BlogCategory::withCount('articles')->get();
问题是,我怎样才能使所有具有 draft 1
的文章都计入 $categories
函数?
最佳答案
withCount()
功能,如 with()
函数,可以使用数组作为其参数,以允许修改正在计算的关系。在您的实例中,您将执行以下操作:
$categories = BlogCategory::withCount(['articles' => function($query){
$query->where('draft', 1);
}])->get();
这将返回您的 BlogCategory
实例,每个实例都有一个 articles_count
指示数量的属性 draft
与每个实例相关的文章。
或者,您可以定义一个 draftArticles
关系:
public function draftArticles() {
return $this->hasMany(Article::class)->where('draft', 1);
// Note: May need to adjust `hasMany()` to reference proper FK column, etc.
}
并执行withCount()
相反:
$categories = BlogCategory::withCount('draftArticles')->get();
每个BlogCategory
实例会有一个 draft_articles_count
反射(reflect)这一点的属性(property)。
关于php - withCount 与其他属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69469943/
我有一个函数 allArticlesCount,它计算所有有 draft 1 的文章。 $allArticlesCount = Article::where('draft', 1)->count();
我有一个函数 allArticlesCount,它计算所有有 draft 1 的文章。 $allArticlesCount = Article::where('draft', 1)->count();
统计关联数量,单个用法 ? 1
我有多个 hasMany 关系,我只想要最后一个表的行数。 用户可以在特定日期和时间注册研讨会,因此关系看起来像“Workshop”-> hasMany 'Date' -> hasMany 'Time
如何在 withCount() 上运行子查询? 我有一个查询要针对多个计数运行,每个计数都有自己的子查询。 这是我正在寻找的东西的示例: $date_from = Carbon::parse('1/1
如何在 withCount() 上运行子查询? 我有一个查询要针对多个计数运行,每个计数都有自己的子查询。 这是我正在寻找的东西的示例: $date_from = Carbon::parse('1/1
我正在尝试对关系中的关系使用 withCount()。我收到的错误是 Method Illuminate\Database\Query\Builder::forums.threads does not
我有以下模型: 问题:[title, user_id] 回复:[body, question_id, user_id] 用户:[姓名] 如你所见,一个问题有很多回复,一个回复属于一个用户。 我已将贡献
我有一个表,其中有一列 is_up_vote = true|false 我正在尝试使用 withCount() 编写一个查询,以便它返回真值和假值的总和。 从 comment_votes 中选择 CO
我正在寻找 Eloquent 或原始 sql 来获取我的两个 ->withCount 的总和。我需要能够做到这一点 而无需 必须 ->get() 记录,它需要使用 Eloquent 来实现,而不是 l
我需要计算来自相同关系的两个不同条件的结果,但它以相同的名称返回。 Model::where('types_id', $specialism_id) ->withCount(['req
我正在尝试在 Eloquent withCount() 方法中使用父关系的枢轴变量。 背景: 有一个在用户和集群之间具有多对多关系的应用程序。用户可以在集群内发送消息。为了跟踪特定集群中用户的未读消息
我有 3 个模型:Vehicle、Dealer 和 Province Eloquent关系如下: Vehicle belongsTo Dealer Dealer hasMany Vehicles Pr
我希望 withCount 包含不存在关系的计数。 例如,假设我有一个名为 people 的表和一个名为 pets 的表。 people 有许多 pets,但 pets 可以有一个 null peop
我有一个users型号和 comments现在我要选择users关系超过100 comments为此,我正在这样做: $users = User::withCount('comments')->hav
所以我问这个的原因是,在我当前的应用程序 withCount() 中,响应时间几乎是通过 with() 获取关系的所有数据的三倍并从前端(javascript)获取长度。我认为使用 withCount
我正在尝试使用这段代码在 laravel 的 Eloquent 查询构建器的 withCount 方法上做一个 where 子句。 $posts = Post::withCount('upvotes'
模型结构如下 教程 -> (hasMany) 章节 -> (hasMany) 视频 我们如何使用 laravel 5.3 的 withCount() 方法从教程模型加载视频数 (video_count
使用 Laravel/Lumen eloquent 我可以得到这样的计数关系: User::withCount('views')->get(); 这将使用 SQL select `users`.*,
我有一个 酒店模型有很多 客房可以是 已占用 .我应该如何查询: 酒店列表 房间数 占用房间数 查询: $hotels = Hotel::where('foo',$bar) ->withCount('
我是一名优秀的程序员,十分优秀!