Laravelde appserviceprovider içinde menü logo vb değerleri çekiyorum boot fonksiyonu içinde fakat bu menülerin çoklu dil seçenekleri olduğu için
sessionda tutulan dile göre sorgulama yapmak istiyorum appserviceprovider dosyasında
Header.blade.phpdosyasına sessionu yazdırdım orada görebiliyorum ama sorgu yapabilmek adına AppserviceProvider dosyasın sessionu çekmek istiyorum ama bir türlü çekemedim
AppserviceProvider dosyası
if(Session::get('lang'){
$dilid = Session::get('lang');
}else{
$varsayilandil = DB:: table('diller')->where('varsayilan', '1')->first();;
$dilid = $varsayilandil->id;
}
$anamenu = DB::table('menu')->leftJoin('menu_aciklama', 'menu.id', '=', 'menu_aciklama.menu_id')
->where('menu_aciklama.dil','=',$dilid)
->where('menu.anamenu','=','1')
->where('menu.durum','=','1')
->where('menu.menu','=','0')
->select('menu.id','menu.sira','menu.durum','menu.menu','menu.anamenu','menu_aciklama.title','menu_aciklama.slug')
->orderBy('menu.sira','ASC')
->get();Lang isminde oluşturduğum middleware dosyası
public function handle($request, Closure $next)
{
if($dil = Session::get('dil')){
echo $dil;
}
return $next($request);
}web.php dosyam yönlendirme
Route::get('/lang/{id?}', array('as' =>'dil', 'uses' =>'ControllersThemeDilController@get_DilSec'));DilController Dosyası
public function get_DilSec($dil){
$diller = DB::table('diller')
->where('durum','=','1')
->where('id','=',$dil)
->first();
if($diller){
Session::put('dil',$diller->id);
}else{
echo "dil pasif";
}
return redirect()->back();
}