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

پرسیده شده
فعالیت 903 روز پیش
دیده شده 435 بار
0

سلام 
من مبخوام از محصولات اونهایی که از نوع مثلا سرور هستند رو بگیرم 
من جدول واسط دارم که  product_id و category_id رو توش ذخیره میکنم 
از کدوم مودل باید برم این کار انجام بدم 
چه جوینی بزنم بهتره

فایل پیوست

Mehrzad Tajkarimi
Mehrzad Tajkarimi

12 آبان 00

0
حذف شده

سلام و احترام

در مدل  Product

class Product extends Model
{
    public function categories()
    {
        return $this->belongsToMany(Category::class);
    }
}

در مدل Category

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

و دریافت یک محصول با یک آیدی category

public function fetchProducts($categoryId){
    return Product::with(['categories'])
    ->whereHas('categories', function ($query) use ($categoryId) {
        $query->where('id', $categoryId);
    })->orderByDesc('id')->paginate(10);
}

 

https://laravel.com/docs/8.x/eloquent-relationships#many-to-many

فایل پیوست

امیر صالحی

توسط

امیر صالحی

12 آبان 00

حذف شده
سلام ممنون در واقع من نمیخوام از Eloquent لاراول استفاده کنم php pure منظورم هست
Mehrzad Tajkarimi

12 آبان 00

0
حذف شده

سلام.

SELECT p.name, c.name FROM product p LEFT JOIN product_category_assignment up ON p.id = product_id LEFT JOIN category c on c.id = category_id WHERE c.id = 1

در قسمت where باید آیدی server رو مشخص کنید.

منظورم این قسمته:

WHERE c.id = 1

 


فایل پیوست

محسن موحد

توسط

محسن موحد

13 آبان 00

جلسه ایجاد روابط model های موجود در پروژه