فیلدهای جدول shop_products که دارای موارد زیر هست :
shop_id - product_id
حالا باید در model مربوط به shop هست relation زیر رو تعریف کنید.
public function products(){
return $this->belongsToMany('AppProducts');
}
حالا هر جایی خواستید میتونید مثل زیر محصولات یک فروشگاه رو به دست بیارید.
return $shop->products;
با استفاده از eloquent از رابطه many to many استفاده کنید که خود داکیومنت خیلی راحت توضبح داده
https://laravel.com/docs/5.7/eloquent-relationships#many-to-many
با استفاده از کوئری هم که دوتا جوین فقط باید بزنی ...
ببخشید اون به این شکل بود.
AppProduct
Product نام model محصولات شما هست.
یک سوال :
مگر هر محصول مختص ۱ فروشگاه نیست در سیستم شما؟ اگر اینطور هست چرا این روش رو برای تخصیص محصولات به فروشگاه انتخاب کردید؟
@dr-code.ir
پروژه ی دانشگاهیه، چند فروشندگی
ببنید من الان کد زیر رو در کلاس شاپ گذاشتم:
public function products() {
return $this->belongsToMany('AppModels1Product');
}
و اینجوری فراخوانی کردم
$shop= shop::find($request->shop_id);
return $job->products();
خروجیم اینه:
[
{
"withTimestamps": false
}
]
فک کنم تو جدولاتون ستون تایم استمپ نداری پس باید توی مدلاتون این خطو اضافه کنی
public $timestamps = false;
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟