2015-01-29 5 views
0

사용자가 장르, 연도 또는 운영 시간과 같은 일부 속성에 대한 환경 설정을 기반으로 영화 추천을받을 수있는 작은 사이트를 만들고 있습니다. 내 데이터베이스는 다음과 같습니다 (화살표는 다 대다 관계를 의미) :Laravel 및 Eloquent를 사용하여 관심사를 기반으로 추천 검색어 찾기

enter image description here

나는 그림에서 각 엔티티에 대한 모델이 가정, 어떻게 내가 추천해야하는 영화를 찾을 수 있습니까 사용자?

+0

으로 영화를 필터링하는 것은 어렵다 태스크. 당신은 기본적으로 우리에게 당신을 위해 모든 일을하라고 요구하고 있습니다. 문제를 발견하면 직접 시도하고 질문을 게시하십시오. – lukasgeiter

+0

사실, 전적으로 기술적 인 API 질문을하고 있습니다. 나는 당신이 나에게 추천 알고리즘을 던지기를 기대하지 않는다. –

+0

좋습니다. 따라서 사용자는 장르 또는 연도 또는 런타임과 일치하는 모든 영화를 원한다. – lukasgeiter

답변

1

은 당신이 whereHas을 사용하여 수행 할 수 있습니다 찾고 있습니다 :

Movies::whereHas('genres.users', function($q) use ($userId){ 
    $q->where('users.id', $userId); 
})->whereHas('years.users', function($q) use ($userId){ 
    $q->where('users.id', $userId); 
})->whereHas('runtimes.users', function($q) use ($userId){ 
    $q->where('users.id', $userId); 
})->get(); 

이 기본적으로 의미 있고 좋은 권장 사항을 생성 (세 개의 다른 관계 이상) 중첩 된 관계 users

+0

굉장! 고맙습니다. –

관련 문제