2014-10-16 1 views
0

드롭 다운의 옵션을 포함하여 내 웹 사이트의 모든 메뉴를 저장하는 표가 있다고 가정하면 아래 표와 같은 필드를 선택하십시오. 나는 백엔드 관리자로부터 메뉴를 쉽게 관리하고 싶다.Lolavel에서 복합 건물 쿼리 작성

NB : 데이터베이스에 치는 것을 방지하기 위해 모든 메뉴를 캐싱하고 있습니다.

Table 1: tbl_menus 

id name        slug        type 
------------------------------------------------------------------------------------    
1 Accounting/Audit/Tax   accounting-audit-tax    industry 
2 Administration & Office Support  administration-office-support  industry 
3 Construction      construction      industry 
4 Male        male        sex 
5 Female        female       sex 
6 Full Time       full-time       job-type 
7 Contract       contract       job-type 
8 Interim        interim       job-type       

표 2 : 내가 원하는 무엇

id title        job_type_menu_id   job_industry_menu_id       
---------------------------------------------------------------------------------------------    
1 System Administrator     6       1 
2 Solaris Admin      6       3 
3 IT Support Engeer     7       1 

을 tbl_jobs : 암이 tbl_menus.name 같은 메뉴 세포에 액세스 할 수 있도록 아래에 있도록 쿼리를 사용하여 tbl_jobs 테이블에 tbl_menus 테이블에 가입하려고, tbl_menus.slug, tbl_menus.type

DB::table('tbl_menus') 
->join('tbl_menus', 'tbl_jobs.job_type_menu_id',  '=', 'tbl_menus.id') 
->join('tbl_menus', 'tbl_jobs.job_industry_menu_id', '=', 'tbl_menus.id') 
->select('tbl_jobs.id', 'tbl_jobs.title', 'tbl_menus.name', 'tbl_menus.slug'); 

나는이 쿼리를 시도했지만 아무런 결과도 얻지 못했습니다.

나는 당신이 내가 성취하고자하는 것을보다 분명하게 보여줄 것이라고 믿는다. 귀하의 전문가 솔루션은 높이 평가됩니다.

NB :

@foreach($jobs as $job) 
    {{$job->job_type->name}} prints name instead of printing just ID 
    {{$job->industry->name}} 
@endforeach 
+0

넣어 시도 . –

+0

@MattBurrow 끝까지 get() 메소드를 연결했다. 문제가 내 쿼리, 특히 JOIN 문에서 온다는 것을 알고 있습니다. 틀린 일을하고 있음을 확신합니다. 그냥 작동하는 쿼리가 필요합니다. 모두에게 감사합니다. – Digitlimit

답변

0

당신이 같은 테이블에 가입하려고하는 것 같다 :이 메뉴를 필요로하는 이유는 선택하거나 작업에 가입 할 이런 식으로 뭔가를 나를 수 있도록하는 것입니다 너와 함께 일하는 사람. 끝에) (수> :이 실행되지 않는 것처럼 쿼리 빌더 쿼리에서 선택이 아닌 실제 결과에서 반환로 -

DB::table('tbl_menus') 
->join('tbl_menus', 'tbl_jobs.job_type_menu_id',  '=', 'tbl_menus.id') 
->join('tbl_menus', 'tbl_jobs.job_industry_menu_id', '=', 'tbl_menus.id') 
->select('tbl_jobs.id', 'tbl_jobs.title', 'tbl_menus.name', 'tbl_menus.slug'); 

이 대신

DB::table('tbl_menus') 
->join('tbl_jobs', 'tbl_jobs.job_type_menu_id',  '=', 'tbl_menus.id') 
->join('tbl_jobs', 'tbl_jobs.job_industry_menu_id', '=', 'tbl_menus.id') 
->select('tbl_jobs.id', 'tbl_jobs.title', 'tbl_menus.name', 'tbl_menus.slug');