Laravel 模型关系通过

Laravel model relationship through

我有 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 class 中。但这没有帮助。有什么办法吗?

您需要在 ImageUser 模型中使用 belongsToMany 关系。

图片模型:

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

访问登录用户的图片