راکت

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

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()
ثبت پرسش جدید

پاسخ‌ها

8
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

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

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

شاید پاسخ شما همین‌جا باشد

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@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);
    }
}
سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

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

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

با این

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

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

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

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

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

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

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