zeynab
4 سال پیش توسط zeynab مطرح شد
3 پاسخ

رابطه Many to Many

در جوین n به n من میخواهم اون مقالاتی که جزو n دسته هستند براشون تو کنترلر شرط بزارم .اما هر چی که گذاشتم به ارور خوردم.چه شرطی بزارم که بیاد اون مقالاتی که مربوط به چندین دسته است نمایش بده؟
لطفا راهنمایی کنید
model article


        return $this->belongsToMany(Category::class);

    }

model category

    public function  articles(){

         return $this->belongsToMany(Article::class);

    }

controller

  public function index(Category $category)
    {

       $articles = Article::orderBy('id', 'desc')->where('category_id', $category->id)->where('status', 1)->paginate(11);
        return view('Article/index',compact('articles','category'));
    }

ثبت پرسش جدید
coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش مطرح شد
zeynab
@zeynab.khayat 4 سال پیش مطرح شد
1

@coaradsupp
ممنونم عالی بود جواب گرفتم دوست عزیز


Mehdy Mehry
تخصص : Laravel , Livewire
@mehdymehry 3 سال پیش مطرح شد
-1

برای استفاده دوستان
برای بدست آوردن محصولات مرتبط با یک دسته بندی بعد از ایجاد روابط چند به چند در مدل ها و جدول واسط از کد زیر استفاده کردم

product::whereHas('categories', function ($query) {$query->where('category_id', $categoryid);})->get();

product مدل جدول محصولات
categories ارتباط تعریف شده در مدل محصولات
category_id ستون id دسته بندی در جدول واسط
categoryid$ آیدی دسته بندی

class product extends Model
{
    public function categories()
    {
        return $this->belongsToMany(category::class);
    }
class category extends Model
{
    public function products()
    {
        return $this->belongsToMany(product::class);
    }
}

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

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