2014-01-28 3 views
0

간단하게하기 위해 다음 모델을 가지고 있습니다.Laravel Join Query

User Model: 
Has_Many('Campaign') 

Campaign Model 
Has_Many('Schedule') 
Belongs_to('User') 

Schedule Model 
Belongs_to('Campaign') 

로그인 한 사용자의 캠페인에 속한 일정을 모두 가져오고 싶습니다. 처음에는

나는

이 무엇을 얻을 수있는 가장 좋은 방법이 될 것입니다 ...이

$user->campaign->schedules; 

같은 것을 할 수하지만 분명히 내가 할 수없는 생각?

+0

모델/방법을 표시하십시오. – phirschybar

+0

모델이 위에 나열되어 있지만 필요한 것이 있습니까? 그것은 논리 문제가 더 .. –

+0

캠페인은 컬렉션, 그들을 통해 반복하고 각각에 대한 모든 일정을 선택? – cecilozaur

답변

0

// Controller 
$user = Auth::user()->with('campaigns.schedules')->first(); 
return View::make('user.schedule_lists')->with('user', $user); 

// View (Blade Templating) 
{{ $user->first_name . ' ' . $user->last_name }} 
@foreach($user->campaigns as $campaign) 
    <h2>{{ $campaign->campaign_field_name }}</h2> 
    <ul> 
     @foreach($campaign->schedules as $schedule) 
      <li>{{ $schedule->schedule_field_name }}</li> 
     @endforeach 
    </ul> 
@endforeach 

업데이트처럼 뭔가를 시도 할 수 있습니다 : 내가 상상 뷰 이름과 테이블의 필드 이름을 사용하는 과정을 시연했다.