Laravel模型关系通过

时间:2018-04-17 16:59:08

标签: php laravel relation laravel-5.6

我有3个表,如:

| user_table |    | user_image_table|     | images_table |
---------------------------------------------------------- 
  id_user    |    |   id_user       |     |   id_image   |
             |    |   id_image      |     |              |

问题是,如果用户登录,我无法获取属于该用户的图像。我试过了:

hasManyThrough(Image::class, UserImage::class, 'id_user', 'id_image')
User课程中

。但这没有帮助。无论如何要做到这一点?

1 个答案:

答案 0 :(得分:3)

您需要在belongsToManyImage模型中使用User关系。

图片模型:

public function users(){
   return $this->belongsToMany(User::class, 'user_image_table', 'id_image', 'id_user');
}

用户模型:

public function images(){
   return $this->belongsToMany(Image::class, 'user_image_table', 'id_user', 'id_image');
}

然后通过Auth::user()->imagesrequest()->user()->images

访问登录用户的图片