2017-01-16 2 views
0

모든 직업 게시 데이터를 반환하는 방법이 있습니다.Laravel 5.2의 컬렉션에서 관련 모델을 얻으려면 어떻게해야합니까?

public function show($id) 
{ 
    $applicantData = Applicant::whereId($id)->first(); 
    $jobData = Job::all(); 
    //dd($jobData); 
    //dd($jobData->job_title); 
    return view('applicant.confirmation',compact("applicantData","jobData")); 
} 

dd($jobData);returns을 : 이것은 내가 시도 무엇

ErrorException in ApplicantController.php line 150: Undefined property: Illuminate\Database\Eloquent\Collection::$job_title

가 어떻게이 $jobData->job_title 값을 얻을 수 있습니다 :

image of jobData

dd($jobData->job_title);는 오류를 반환?

+2

'$ jobData-> 첫 번째() -> 첫 번째 작업 제목 job_title'. 컬렉션은 배열과 같습니다. 그것은 모든 항목을 포함합니다. –

+0

@CerlinBoss 매번 처음'job_title'을 반환합니다.'job_id'를 다른 것으로 바꾸면 항상 먼저'job_title'을 kepp합니다. –

+0

귀하의 jobdata 테이블 구조를 보여주십시오 – msonowal

답변

1
public function show($id) 
{ 
    $applicantData = Applicant::whereId($id)->first(); 
    $jobData = Job::find($applicantData->job_id); //this will give you the job 
    dd($jobData); 
    dd($jobData->job_title); 
    return view('applicant.confirmation',compact("applicantData","jobData")); 
} 
+0

이것은 내가 찾고있는 것입니다. 승인 됨. :) –

1

모든 행을 반환하므로 $jobData을 반복해야합니다. 예 :

$jobData = Job::all(); 
foreach ($jobData as $job) { 
    echo $job->job_title; 
} 
1

이들은 값을 직접 알아낼 수 있도록 배열 된 개체입니다. 당신이 다음 $jobData[0]->job_title 또는 $jobData->first()->job_title을 첫 번째 항목을 필요로하거나 당신이 루프 수 있다면 foreach($jobData as $data){$data->job_title}

1

$jobDatacollection 그래서 직접 $jobData->job_title 같은 job_title에 액세스 할 수 있습니다. 나는 당신이보기 파일에서 그것들에 접근하기를 원한다고 생각한다. 따라서 당신은 사용하여 컬렉션을 반복한다

@foreach($jobData as $job) 
    {{ $job->job_title }} 
@endforeach 
2

을 다음 않는 Laravel에서 eachmethod :

$jobData->each(function ($item, $key) { 
    dd($item->job_title); 
}); 
+0

이미'job_title'을 데이터베이스에 표시하고 싶습니다. 그러나'job_title'을 모두 반환합니다. 특정 것을 원합니다. 말해 줄 수 있습니까? 만약 job_id를'job_title'으로 변경하면, 모든 시간에 "Admin Assistant"가 반환됩니다. –

+0

@ChoncholMahmud, 특정'Job' 항목을 가져 오려면,'Job :: all ()'를 반환하지만, 하나의'Job' 인스턴스를 반환하는 적절한 메소드를 사용하십시오. 예를 들어 [get] (https://laravel.com/api/4.2/Illuminate/Database/Eloquent/Collection.html#method_get) 메소드를 사용할 수 있습니다. 여전히 모든 작업 항목이 필요하지만'Job' 속성에 따라 어떤 동작을 수행해야하는 경우'if ($ item-> job_id == 12345) {...} '와 같은 루프에 체크를 추가하십시오. 따라서 "특정 하나"가 의미하는 바가 명확하지 않습니다. –

관련 문제