2014-11-26 3 views
0

내 문제를 설명하기 위해 Laravel로 데이터베이스에 연결할 때마다 id 열에 대해 "id"로 기본 검색을 수행합니다.Laravel Restful Controller ID

enter image description here

난 내 칼럼에서는 jobID 예를 들어 이름을 경우에, 나는 "에서는 jobID"대신 그냥 "ID"를 검색 컨트롤러 싶습니다. 그러나 모든 ID 테이블 열을 "id"로 변경할 수 있습니다. 그러나 Laravel의 왼쪽 조인을 사용하면 최신 ID 열이 실제 ID 열로 사용되므로이 문제가 발생합니다.

$jobs = Job::leftJoin('occupational_areas', function($join) { 
      $join->on('jobs.occupationalArea', '=', 'occupational_areas.id'); 
      })->get(); 

그러나 평안한 컨트롤러 기본에 "ID를"하고 내가 기본 "ID"로 변경 어떻게, 부탁 해요에가에서는 jobID

같은 뭔가 더 정의 될 것입니다 :

Heres는 가입의 나

+0

당신의'jobs' 테이블에있는 당신의 id 필드는 무엇입니까 ?? – Ronser

+0

그게 jobID 메이드 –

답변

1

이 왼쪽 오류

+0

불행히도 저에게 동일한 오류가 발생합니다. 기본적으로 ocupational_areas.id는 job.id를 덮어 쓰고 있습니다. 이상적으로 job.jobID를 호출하여 이것을 전달하고 싶습니다. 그러나 laravels 편안한 컨트롤러는 내 테이블에서 "id"를 검색하려고합니다. –

+0

작업 ID를 id로 변경하고 편집 된 대답을 시도하십시오 – Ronser

1

차례를

$jobs = Job::select('occupational_areas.id as occ_id', 'jobs.id as jobs_id', your required values) 
     ->leftJoin('occupational_areas', 'jobs.occupationalArea', '=', 'occupational_areas.id') 
     ->get(); 

코멘트에 가입 사용해보십시오 이렇게하는 가장 쉬운 방법은 다음과 같이 설정하는 것입니다.

protected $primaryKey = 'jobID'; 

모델에 넣으십시오.

저는 Ronser도 자신의 방법으로 올바른지 확신합니다. 둘 중 하나가 작동합니다.

감사합니다. Ronser!

+0

이것이 올바른 방법입니다. – Bowersbros

관련 문제