我如何 return 在 Laravel 5.2 查询中自定义文本?
How i return custom text in Laravel 5.2 query?
我有两个 table:
qr_details table:
id qrcode_id prize_id created_at updated_at
12 1 12 2017-10-06 19:53:10 0000-00-00 00:00:0
二维码table:
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
现在我想如果我在 qr_details
table qrcode_id
列中得到 qrcodes
table id
那么它将显示文本 Yes
除了它会显示 No
。我怎么写这个?提前致谢。
到目前为止我已经尝试过:
$drawOr = DB::table('qr_details')
->leftJoin('qrcodes', 'qr_details.qrcode_id', '=', 'qrcodes.id')
->where('qrcode_id','=', $id)
->get();
dd($drawOr);
显示错误。
在 select()
中使用 DB::raw
,例如
$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();
这个很简单。您可以在控制器中使用此代码:-
$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);
现在我已经创建了新密钥,即 status,其中包含 'yes' 中的值或没有
然后你可以根据你的要求在 blade 文件中使用..
希望对您有所帮助:)
我有两个 table:
qr_details table:
id qrcode_id prize_id created_at updated_at
12 1 12 2017-10-06 19:53:10 0000-00-00 00:00:0
二维码table:
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
现在我想如果我在 qr_details
table qrcode_id
列中得到 qrcodes
table id
那么它将显示文本 Yes
除了它会显示 No
。我怎么写这个?提前致谢。
到目前为止我已经尝试过:
$drawOr = DB::table('qr_details')
->leftJoin('qrcodes', 'qr_details.qrcode_id', '=', 'qrcodes.id')
->where('qrcode_id','=', $id)
->get();
dd($drawOr);
显示错误。
在 select()
中使用 DB::raw
,例如
$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();
这个很简单。您可以在控制器中使用此代码:-
$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);
现在我已经创建了新密钥,即 status,其中包含 'yes' 中的值或没有 然后你可以根据你的要求在 blade 文件中使用.. 希望对您有所帮助:)