Gerekli yerlerde son eklenenleri listeleyebilmek için AppServiceProvider içinde aşağıdaki sorgularımı oluşturdum.
$articles = \DB::table('blogs')->select('id', 'slug', 'title', 'description', 'created_at');
$documents = \DB::table('documents')->select('id', 'slug', 'title', 'description', 'created_at');
$news = \DB::table('news')->select('id', 'slug', 'title', 'description', 'created_at');
view()->share('lastposts', $articles->union($documents)->union($news)->take(10)->skip(0)->orderBy('created_at', 'desc')->get());
Kod çalışıyor sıkıntı yok fakat sorguda çalıştırdığım 3 içeriğinde rotaları farklı. Yani gelen verinin hangi tablodan geldiğini nasıl bulabilirim? Şöyle bir yöntem denedim fakat hata aldım.
$articles = \DB::table('blogs')->select('id', 'slug', 'title', 'description', 'created_at', 'q1' as queryResult);
$documents = \DB::table('documents')->select('id', 'slug', 'title', 'description', 'created_at', 'q2' as queryResult);
$news = \DB::table('news')->select('id', 'slug', 'title', 'description', 'created_at', 'q3' as queryResult);
view()->share('lastposts', $articles->union($documents)->union($news)->take(10)->skip(0)->orderBy('created_at', 'desc')->get());
Tabi burada tanımladığım q1,q1,q3 ü tabloda field olarak arıyor. Bunun çözümü nedir?