我在Laravel 5.2中尝试此查询
User::with(['posts'])
->withCount('post_images')
->orderBy('post_images_count', 'desc')
->take(8)
->get();
之后我收到此错误Call to undefined method Illuminate\Database\Query\Builder::post_images()
我不明白这里有什么错误。
此处users table
与posts Table
有关系,而帖子表与post_images table
有关系
public function posts()
{
return $this->hasMany(Post::class);
}
public function postimages()
{
return $this->hasManyThrough(PostImage::class, Post::class);
}
请指导我该如何解决这个问题。
答案 0 :(得分:1)
正如@linktoahref所说,withCount
将关系方法名称作为参数,而不是表格或列名称。
withCount('postimages')
应该解决您的问题