2017-07-01 63 views
3

我想運行一個原始查詢,這是我在控制器中編寫的,並希望在我的視圖中顯示數據庫中的數據。Laravel 5.4:執行原始查詢並在視圖中顯示數據

這是我的控制器功能:

public function unverified_jobs_page() 
{ 
    $query = "SELECT jd.*, cd.`company_name`, jc.`category_title`, jt.`job_type_title`, cc.`city_name` 
      FROM `job_details` AS jd 
      JOIN `company_details` AS cd ON cd.`company_id`=jd.`company_id` 
      JOIN `job_category` AS jc ON jc.`category_id`=jd.`category_id` 
      JOIN `job_type` AS jt ON jt.`job_type_id`=jd.`job_type_id` 
      JOIN `city` AS cc ON cc.`city_id`=jd.`city_id` 
      WHERE jd.`is_verified`='NO' 
      ORDER BY jd.`date_posted` DESC"; 

    $sql = General_model::rawQuery($query); 

    return view('adminpanel.jobs.unverfied_jobs',compact($sql));   

} 

這是我的模型功能rawQuery()

public static function rawQuery($query) 
{ 
return DB::select(DB::raw($query)); 
} 

這是我的看法:

<table class="table table-striped border-top" id="sample_1"> 
        <thead> 
         <tr> 
         <th>JOB ID </th> 
         <th>TITLE</th> 
         <th>COMPANY</th> 
         <th>CITY</th> 
         <th>DATE POSTED</th> 
         <th>CLOSING DATE</th> 
         <th>&nbsp;</th> 
         </tr> 
        </thead> 
        <tbody> 

         @foreach($sql as $d) 

         <tr> 
         <td>{{$d->job_id}}</td> 
         <td>{{$d->job_title}}</td> 
         <td>{{$d->company_name}}</td> 
         <td>{{$d->city_name}}</td> 
         <td>{{$d->date_posted}}</td> 
         <td>{{$d->expiry_date}}</td> 
         <td><a class='btn btn-info' href='#'>DETAILS</a></td> 
         </tr> 

         @endforeach 
        </tbody> 
       </table> 

現在的問題是,每我嘗試運行該頁面時,它給了我以下錯誤:

ErrorException in 10f46e45beef75fdd05b083aa636ae7821fe6936.php line 30: 
Undefined variable: sql (View: C:\AppServ\www\jobs\jobs\unverfied_jobs.blade.php) 

請幫忙。

回答

1

您需要將變量$sql正確地傳遞給您的視圖。

嘗試

compact('sql');