• 10-12-2017, 00:00:18
    #1
    Merhabalar arkadaşlar, blogumu oluşturdum fakat rota tanımlamasında slug haricinde gönderinin kategori adının da yer almasını istiyorum. Şuan siteadi.com/blog/slug şeklinde gönderilere sorunsuz giriyorum ama bunu siteadi.com/blog/kategori/slug şekline çevirmek istiyorum.
    Mevcut Rotam ve Slug kodlarım, buna kategoriyi de ilave edersek harika olacak
    Route :
    Route::get('blog/{slug}', 'BlogController@show');
    BlogController :
    public function show($slug)
        {
          $post = Post::findBySlug($slug);
          return view('post.single', ['post' => $post]);
        }
    Post Model :
    public function category()
        {
            return $this->belongsTo(Category::class, 'category_id');
        }
        public static function findBySlug($slug) {
            return static::where('slug', $slug)->first();
        }
  • 10-12-2017, 17:12:16
    #2
    ztk
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Kategori kısmında kendi kategorisinin ismi mi yazsın istiyorsun yoksa ‘kategori’ mi yazsın istiyorsun.
  • 10-12-2017, 18:41:59
    #3
    ztk adlı üyeden alıntı: mesajı görüntüle
    Kategori kısmında kendi kategorisinin ismi mi yazsın istiyorsun yoksa ‘kategori’ mi yazsın istiyorsun.
    kendi kategori adı yazacak hocam, video - genel - galeri vb tarzda yani Slug için yazılan kodları taklit ettim kategori için ama işe yamadı
  • 10-12-2017, 23:16:39
    #4
    halilyc adlı üyeden alıntı: mesajı görüntüle
    kendi kategori adı yazacak hocam, video - genel - galeri vb tarzda yani Slug için yazılan kodları taklit ettim kategori için ama işe yamadı
    Rota;
    Route::get('blog/{kategori}/{slug}', 'BlogController@show');
         public function show($categorySlug, $slug)
        {
          $category = Category::findBySlug($categorySlug);  // category modelini oluşturman gerekir. O modelde de category slug ından category'i çekmen gerekir. 
          $post = Post::findBySlug($slug);
          return view('post.single', ['post' => $post, 'category'=>$category]);
        }
  • 11-12-2017, 13:06:59
    #5
    ztk adlı üyeden alıntı: mesajı görüntüle
    Rota;
    Route::get('blog/{kategori}/{slug}', 'BlogController@show');
    public function show($categorySlug, $slug) { $category = Category::findBySlug($categorySlug); // category modelini oluşturman gerekir. O modelde de category slug ından category'i çekmen gerekir. $post = Post::findBySlug($slug); return view('post.single', ['post' => $post, 'category'=>$category]); }
    Hocam teşekkürler herşey için Dün bir bayan hocamız team ile bağlandı halletti sağolsun, bayağı uğraştı ama. İşine yarayan arkadaşlar olabilir belki ileride diye kodları yazıyorum
    web.php
    Route::get('blog/{category}/{slug}', 'BlogController @ category');
    BlogController.php
    public function category($category, $slug) { 
    $post = Post::where('posts.slug', $slug)->join('categories','posts.category_id','=','categories.id')->where('categories.slug', $category)->get(); 
     return view('post.single', ['post' => $post]); }