Paradox
3 سال پیش توسط Paradox مطرح شد
8 پاسخ

دسته بندی محصولات

سلام دوستان من دسته بندی محصولات رو انجام دادم و به درستی کار میکنه
فقط یک مشکلی که هست میخام تو ایندکس جدا از محصولات مطالب وبلاگ و اسلایدر هم نمایش بده
متد شو به این شکل نوشتم

   public function show(Category $category)
    {
        $products = $category->products()->paginate(12);
        $blogs = $category->blogs()->paginate(12);
        $sliders = $category->sliders()->get();

        return view('index', compact(['products' , 'blogs' , 'sliders']));
    }

الان درست نمایش میده ولی وقتی روی هر دسته میزنم ارور دارم

Call to undefined method Modules\Category\Entities\Category::blogs()

ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

میگه متد blogs پیدا نمیکنم!
توی مدل category متدی داری بنام blogs یا ریلیشن داری؟


Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
0

@juza66
بله ریلیشن دارم ولی رو ارور تاثیری نداره

متد شو درست نوشتم ؟


Muhammad
تخصص : Back-End Developer
@muhammad 3 سال پیش مطرح شد
0

شما مدل کتگوری رو بفرستین


Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
0

@muhammad

<?php

namespace Modules\Category\Entities;

use Illuminate\Database\Eloquent\Model;
use Modules\Blog\Entities\Frontend\Blog;
use Modules\Products\Entities\Product;
use Modules\Slider\Entities\front\Slider;

class Category extends Model
{
    protected $fillable = ['name' , 'parent' , 'slug'];

    public function parent()
    {
        return $this->belongsTo(Category::class, 'category_id');
    }

    public function child()
    {
        return $this->hasMany(Category::class , 'parent' , 'id');
    }

    public function products()
    {
        return $this->belongsToMany(Product::class);
    }

    public function blog()
    {
        return $this->belongsToMany(Blog::class);
    }

    public function slider()
    {
        return $this->belongsToMany(Slider::class);
    }
}

سبحان مولایی
تخصص : برنامه‌نویس وب: Python ::...
@websaz 3 سال پیش آپدیت شد
0

سلام دوست عزیز شما باید در مدل Category این را

public function blog()
    {
        return $this->belongsToMany(Blog::class);
    }

با این

public function blogs() { 
return $this->belongsToMany(Blog::class);
 }

جایگزین کنید
@wxyz


Muhammad
تخصص : Back-End Developer
@muhammad 3 سال پیش مطرح شد
0

حرف s از کلمه blog افتاده


Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
0

بله درسته متوجه شدم ممنون از دوستان


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

بهترین پاسخ تونو انتخاب کنید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام