【发布时间】:2017-06-29 20:51:50
【问题描述】:
我有 3 个模型 Post, Tag and Category。 Post model 和 Tag model 与数据透视表是多对多关系,Post model 和 Category model 是一对多关系。
例如,假设我有以下标签和类别:
tag name = php,
category name = tutorial, project, testing
no. of post having above attribute = 3 [ all post have different category, same tag]
我正在尝试计算帖子并显示具有上述类别的类别名称并在名为 archive-php 的视图中标记 php。
这是我到目前为止所做的:
我在控制器中的方法
public function countTag()
{
$posts = Post::whereHas('tag', function($r) {
$r->where('name','=', "php");
})->get();
return view('archive-php')
->withPosts($posts)
}
我的代码在视图中:
@foreach ($posts as $post)
<li><a href="#">{{ucfirst($post->category->name)}}</a>
{{$post->count()}}
</li>
@endforeach
上面的代码成功显示了相关的类别名称(3个类别名称)dd($posts);转储了3个数组,但统计了数据库中的所有帖子。我在这里缺少什么难题或不可能?
【问题讨论】:
-
您要统计类型为 [category] 且带有标签 [php] 的 [posts] 的数量?
-
是的,这就是我想要做的。
标签: php mysql laravel laravel-5.3 blade