【发布时间】:2015-08-11 00:53:58
【问题描述】:
我在用户和图像之间有多对多的关系。
用户模型
public function image()
{
return $this->belongsToMany('\App\Image');
}
图像模型
public function user()
{
return $this->belongsToMany('\App\User');
}
表格
用户
id | name
图片
id | url
image_user
id | image_id | user_id
当用户“收藏”一张图片时,它会存储在数据透视表中。
id | image_id | user_id
1 1 1
2 2 1
3 1 2
我需要统计每张收藏的图片。
我尝试类似:
Image::with('user')->find(1)->count();
但这计算的是用户数量,而不是收藏数量。
理想情况下,我想返回所有图像数据以及用户数据的计数 - 我该怎么做?
【问题讨论】:
-
$module =Image::with('user')->get(); $module->user->count();
-
$module=Image::with('user')->get(); $module->count();
-
谢谢@kamlesh.bar 但我希望在同一个查询中完成所有操作?
-
你应该可以上链了。
-
Image::with('user')->find(1)->user()->count();
标签: laravel laravel-4 eloquent laravel-5