1. Sorunuzda sanal tablo değil sorgu sonucunu farklı bir alan adıyla almak diyelim. Bunu Query Builder ile şöyle yapabilirsin
DB::table('table_name')->select('column_name...')->get();
2. Sorunuzun cevabı da şöyle;
DB::table("table")->select(DB::raw('id, title, if(published = 1, "aktif", "pasif")as status'))->get();
Laravel'in en güçlü ve güzel yanlanlarından Eloquent ORM'dir. Öncelikle bunu araştırmanı tavisye ederim. Ayrıca Query Builder sınıfını da incele.