در جوین 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'));
}
با whereHas کار کنید
https://laracasts.com/discuss/channels/eloquent/how-to-wherehas-when-use-belongstomany-relation
نمونه کد
برای استفاده دوستان
برای بدست آوردن محصولات مرتبط با یک دسته بندی بعد از ایجاد روابط چند به چند در مدل ها و جدول واسط از کد زیر استفاده کردم
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);
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟