Laravel 5.5模型数据透视表计数

时间:2017-12-01 23:02:51

标签: model laravel-5.5 laravel-eloquent

我有3张桌子。 usersgallerygallery_bloggallery_bloggallery_idblog_idgallery_blog是数据透视表。 galleryuser_idnameusersid。一个用户有很多图库。一个画廊有很多博客。

我需要一个查询来了解图库中有多少博客以及当前用户的图库名称。

我在下面写了一下查询

use App\User as user_gallery;    
$galleries = user_gallery::find(Auth::user()->id)->gallery;

我在User模型中有以下代码。

public function gallery() {   
        return $this->hasMany('App\Models\Gallery');  
    }

1 个答案:

答案 0 :(得分:1)

您可以这样做:

$galleries = Gallery::where('user_id', Auth::user()->id)->withCount('blogs')->get();

Gallery类必须具有blogs()关系。

Docs