- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对关系中的关系使用 withCount()
。我收到的错误是 Method Illuminate\Database\Query\Builder::forums.threads does not exist.
。
给定这些模型:
class Category extends Model
{
public function forums()
{
return $this->hasMany('App\Forum');
}
}
class Forum extends Model
{
public function category()
{
return $this->belongsTo('App\Category');
}
public function threads()
{
return $this->hasMany('App\Post')->orderByDesc('created_at');
}
}
在我的 Controller 中考虑以下内容:
public function index()
{
$categories = Category::with('forums')->withCount('forums.threads')->orderBy('order')->get();
return view('home', compact('categories'));
}
在我看来如下:
@foreach($categories as $category)
{{ $category->title }}<br>
@foreach($category->forums as $forum)
{{ $forum->title }}<br>
{{ $forum->threads_count }}
@endforeach
@endforeach
我知道我可以简单地从 Controller 中删除 withCount
并使用 $forum->threads->count()
,但是是否可以查询计数我想?
如果可以,怎么做?我希望通过预先加载计数(当然不加载所有实际的线程
)尽可能快。
最佳答案
在闭包
中尝试withCount()
:
$categories = Category::with(['forums'=>function($q){
$q->withCount('threads');
}])->orderBy('order')->get();
关于php - 关系 hasMany 上的 withCount(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49083218/
我有一个函数 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('
我是一名优秀的程序员,十分优秀!