Laravel调用未定义的方法Illuminate \ Database \ Query \ Builder :: post_images()

时间:2017-05-26 08:13:35

标签: laravel laravel-5 laravel-5.2

我在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 tableposts Table有关系,而帖子表与post_images table有关系

public function posts()
{
    return $this->hasMany(Post::class);
}

public function postimages()
{
    return $this->hasManyThrough(PostImage::class, Post::class);
}

请指导我该如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

正如@linktoahref所说,withCount将关系方法名称作为参数,而不是表格或列名称。

withCount('postimages')应该解决您的问题