2017-10-07 5 views
1

나는 두 개의 테이블이 있습니다어떻게 Laravel 5.2 쿼리에서 사용자 지정 텍스트를 반환합니까?

qr_details 테이블 :

id qrcode_id prize_id created_at   updated_at 
12 1   12   2017-10-06 19:53:10 0000-00-00 00:00:0 

qrcodes 테이블 : 지금은 다음 qrcodes 테이블 id 테이블 qr_details에서 qrcode_id 열을 얻는 경우에 내가 원하는

id correspond_code qrcode_note created_at    updated_at 

1 plgt73g   X Batch  2017-10-06 21:55:11 2017-09-28 08:57:53 
2 gs35dn4   Y Batch  2017-10-06 21:55:22 2017-10-04 04:38:50 
3 df324f3   X Batch  2017-10-06 21:55:36 2017-10-06 13:29:11 

Yes 이외의 텍스트가 표시됩니다. No이 표시됩니다. 내가 어떻게 써? 미리 감사드립니다.

는 지금까지 시도 :

$drawOr = DB::table('qr_details') 
     ->leftJoin('qrcodes', 'qr_details.qrcode_id', '=', 'qrcodes.id') 
     ->where('qrcode_id','=', $id) 
     ->get(); 
     dd($drawOr); 

의 프로그램 오류.

$drawOr = DB::table('qr_details') 
     ->select('qr_details.*', 
      DB::raw("(CASE WHEN qrcodes.id IS NOT NULL THEN 'Yes' ELSE 'No' END) AS somealias")) 
     ->leftJoin('qrcodes', 'qr_details.qrcode_id', '=', 'qrcodes.id') 
     ->where('qrcode_id','=', $id) 
     ->get(); 
+0

무결성 제약 오류가 발생하고 있습니까? –

+0

왜 웅변적인 관계를 사용하지 않으시겠습니까? –

+0

정말이 질문을 이해하는 데 어려움을 겪고 있습니다. 아마도'qr_details'는'qrcodes'의 행에 관한 세부 사항이있는 테이블일까요? 'id '는 어떻게 거기에 있지 않을까요? – apokryfos

답변

1

같은 select() 뭔가

+0

그래, 내가 이런 종류의 찾고 있습니다 ...) 감사합니다 :) –

+0

환영 ... 도와 줘서 다행 :) – kunal

2

사용 DB::raw이 매우 간단합니다. 당신은 컨트롤러에서이 코드를 사용할 수 있습니다 : -

$drawOr = DB::table('qrcodes') 
    ->get(); 

foreach($drawOr as $key => $draw){ 
    $getqrDeatilCount = DB::table('qr_details')->where('qrcode_id',$draw->id)->count(); 
    if($getqrDeatilCount > 0){ 
     $drawOr[$key]->status = "Yes"; 
    }else{ 
     $drawOr[$key]->status = "No"; 
    } 
} 
echo "<pre>"; print_r($drawOr); 

지금 내가 '예'의 값 또는 전혀 그 후에 따라 블레이드 파일에서 사용할 수를 포함 상태 즉 새 키를 생성 한 사용자의 요구 사항 .. 희망이 있습니다.

+0

나는이 오류가 발생합니다 : https://prnt.sc/guc1gm –

+0

나는 이것이 다른 방법이라고 생각합니다. qrcodes 테이블은 기본 테이블이며 하나의 qr_details는 관련 테이블이며 OP는 각 qrcode에 대해 qr_details 테이블에 항목이 있는지 확인하려고합니다. – apokryfos

+0

qr_details 테이블에는 항목이 필요하지 않습니다. qrcodes 테이블의 qr 코드를 그릴 때마다 채워집니다. –