[英]How to use raw query in laravel and show ouput in blade page?
在我的控制器中,我使用此格式的原始查詢
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\MonthlyActivity;
class MonthlyActivityController extends Controller
{
//
public function show()
{
//$monthly = MonthlyActivity::all();
// $var =MonthlyActivity::connection()->getPdo()->quote($var);
$query = "select mon,year,
combo,
registered,
forwardedbycmo,
clarification,
noaction,
disposed,mon_srno,undertaken
from monthly_activities
union
select extract('month' from actiondate) as mon,extract('year' from actiondate) as year,
extract('year' from actiondate)|| '-' ||to_char(to_timestamp (extract('month' from actiondate)::text, 'MM'), 'TMMon') as combo,
sum(case when actioncode = '00' then 1 else 0 end) as registered,
sum(case when actioncode = '4T' and fromorg='CMOFF' then 1 else 0 end) as forwardedbycmo,
sum(case when actioncode = '4D' and fromorg='CMOFF' then 1 else 0 end) as clarification,
sum(case when actioncode = '10' then 1 else 0 end) as noaction,
sum(case when actioncode = '50' then 1 else 0 end) as disposed,null as mon_srno,
sum(case when actioncode = '40' and fromorg='CMOFF' then 1 else 0 end) as undertaken
from actionhistory where extract(month from actiondate)=extract(month from current_date)
and extract(year from actiondate)=extract(year from current_date)
group by mon,year order by year,mon;";
$result = MonthlyActivity::select(MonthlyActivity::raw($query));
//print_r($result);
return view('show',['monthly' => $result]);
}
}
在show.blade.php
<?php
foreach($monthly as $mon)
{
?>
<tr>
<td>
<?php echo $mon->combo ?>
</td>
<td>
<?php echo $mon->year ?>
</td><td>
<?php echo $mon->id ?>
</td>
<td>
<?php echo $mon->id ?>
</td><td>
<?php echo $mon->id ?>
</td><td>
<?php echo $mon->id ?>
</td><td>
<?php echo $mon->id ?>
</td>
</tr>
<?php
}
?>
我面臨的問題是它沒有顯示數據,我不知道任何查詢是否正在運行。
如何在show.blade.php
執行此查詢並顯示查詢數據?
嘗試這個:
$data = DB::select(DB::raw('Query query'));
現在將此$data
傳遞給刀片view
如:
return view('show', array('data' => $data));
並通過在$data
上應用foreach()
來在視圖上使用它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.