2014-06-10 6 views
0

나는이 관계가 작동 할 수 있도록 필요한 테이블 내려고 ..., 그는 볼 수 있습니다 그가 좋아하는 모든 게시물.Laravel 관계

그래서 사용자 및 게시 모델과 그 관계가 있습니다.

사용자 hasMany의 포스트, 포스트 belongTo 사용자

내가 좋아하는 모델을 추가하고 사용자 및 사후 모델에 fav_id 추가해야합니까? 피봇 테이블을 추가 하시겠습니까?

+0

어떤 사용자가 만든 사용자/게시 관계가 어떤 게시입니까? 또는 어떤 게시물이 사용자가 가장 좋아하는 게시물입니까? –

+0

게시물을 업데이트하고 관계를 추가했습니다. – ranslobo

답변

1

즐겨 찾기가 사용자와 게시물 간의 단순한 관계로 정의되는 경우 모델을 필요로하지 않습니다. 그러나 피벗 테이블을 원한다면 favorites과 같이 호출하십시오. id, post_id, user_id, created_at, updated_at을 포함합니다.

public function favoritePosts() 
{ 
    return $this->belongsToMany('Post', 'favorites'); 
} 

그리고 포스트 모델 : 사용자 모델에서 다음

그래서 지금

public function favoritedBy() 
{ 
    return $this->belongsToMany('User', 'favorites'); 
} 

, 특정 사용자에 대해, 당신은 게시물이의 배열을 얻을 수 $user->favoritePosts을 할 수있는 사용자 "즐겨 찾기".

게시물 개체에서 $post->favoritedBy을 사용하여 해당 게시물을 즐겨 사용하는 사용자 배열을 얻을 수 있습니다.

나는 이것을 테스트하지는 않았지만 그것은 내 머리 꼭대기에서 효과가있는 것처럼 보입니다.