2015-08-17 51 views
0

草案我已經使用這個代碼數據:顯示,如果狀態只出版,僅保存時的狀態是laravel

public function newQuery($excludeDeleted = true) 
{ 
    $query = parent::newQuery($excludeDeleted); 

    return $query->where('status', 'Published'); 
} 

這段代碼只顯示在前端和後端的公佈的數據。

我想表明草案只,但不是在前臺管理部分的數據..

我一定第一個是該頁面的管理或fronend第一?如果是的話,那該怎麼辦知道?

請回復..

回答

0

我解決了它:

public function newQuery($excludeDeleted = true) 
    { 
     $query = parent::newQuery($excludeDeleted); 
     if(Auth::check() && (!Auth::user()->hasRole('admin'))) 
       return $query->where('status', array('Published','Draft')); 

     else 
       return $query->where('status', 'Published'); 

    } 
1

您可以使用此代碼

Route::currentRouteName() 

獲取路線後,您需要設置像

if(Route::currentRouteName() == 'frontent'){ 
    return $query->where('status', array('Published','Draft')); 
}else{ 
    return $query->where('status', 'Published'); 
} 

的條件,我認爲這個程序獲取路線名稱將工作。我不確定。請試試

+0

對不起,pabel, 它不工作在我的項目.... –

+0

@sabinmaharjan問題在哪裏? –

+0

currentRouteName –