2017-10-07 5 views
1

私は2つのテーブルを持っている: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_detailsqrcode_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テーブルは基本テーブルであり、1つの 'qr_details'は関連するテーブルであり、OPは' qrcode'ごとに 'qr_details'テーブルにエントリがあるかどうかを確認したいとします。 – apokryfos

+0

' qr_details'テーブルにはエントリは必要ありません。それは、誰かが 'qrcodes'テーブルのqrコードを描くといっぱいになります。 –

関連する問題