سید احمد
1 سال پیش توسط سید احمد مطرح شد
5 پاسخ

نمایش مطالب بر اساس دسته بندیها

سلام، وقتتون بخیر
یه سوال دارم، که کمی طولانیه ولی کامل شفاف توضیح میدم، ممنون میشم راهنمایی کنید

✅ من چند تاجدول داریم به این شکل:
من یک بخش وبلاگ دارم شامل سه جدول:
posts
category_posts
category_detail_post

یه بخش ویدئو دارم شامل سه جدول:
videos
category_videos
category_detail_videos

و بخش های متعدد به همین شکل
✅ که هیچ کدوم از ساختار دیتابیسم مثل هم نیست، بخاطر همین اینطوری نوشتم

✅ الان من بخش جستجو رو نوشتم،؛ بخش برچسب ها که روش کلیک کنن مطالب بر اساس برچسب ها نشون داده بشن رو نوشتم، بخش افزدن به دیتابیس رو نوشتم که بیان دسته و زیر دسته انتخاب کنن و مابقی بخش های مربوطه

⛔️ حالا موندم توی همین بخش دسته بندی ها، الانم تو بخش وبلاگ دسته بندیهای وبلاگ رو نشون دادم، تو بخش بازیها دسته بندهای بازی ها و ... حالا میخوام روی هر دسته بندی کلیک شد، مطالب همون دسته بندی نشون داده بشه

الان من تو مدل Post کدم اینه:

public function category()
    {
        return $this->belongsTo(CategoryPost::class);
    }

مدل CategoryPost کدم اینه:

public function posts()
    {
        return $this->belongsToMany(Post::class,'category_detail_post');
    }

و یک Controller به اسم ShowPostCategoryController ساختم که بیام نشون بدم که کدم اینه:

public function show(CategoryPost $categoryPost){
        $Post = $categoryPost->posts();
        dd($Post);
         return view('blogcategory',compact('Post'));
    }

الان من کد رو اجرا میکنم و dd میگیرم به این شکل هست:
 تصویر
وقتی Post رو باز میکنم، فیلدهای مدل post رو گرفته:
 تصویر

الان ارتباط با جدول Post برقرار شده مثل اینکه چون فیلدهایی که میخوام رو دریافت کردم ولی موقع چاپ همین فیلدها همشون رو مقدار null بر میگردونه
ممنون میشم یه راهنمایی کنید


ثبت پرسش جدید
سید احمد
تخصص : برنامه نویس
@tamiratsg 1 سال پیش مطرح شد
0

سلام
ممنون میشم راهنمایی کنید؛ آخرین مرحله از پروژم هست ...


پوریا مستعان
تخصص : Full-Stack Developer
@pooriya.mostaan 1 سال پیش مطرح شد
0

سلام
اون جایی که داری از ارتباط دسته بندی و پست ها، پست ها رو میگیری پرانتز رو بردار، اگر ارتباطی که بینشون زدی درست باشه باید کار بکنه
یعنی این کد رو :

$Post = $categoryPost->posts();

به این شکل بنویس :

$Post = $categoryPost->posts;

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 1 سال پیش مطرح شد
0

۱ نکته که میتونی رعایت کنی، استفاده کردن از یه جدول برای تمام دسته بندی ها هست... به همراه یه رابطه پالی مورفیک
نکته بعد اینکه وقتی یه رابطه رو به صورت متد فراخوانی میکنی Instance ای از اون رابطه برگشت داده میشه.

یه نگاه به این پکیج بنداز،
https://github.com/AliBayat/Laravel-Categorizable
اکثر حالت های مختلف رو پشتیبانی میکنه.. باهاش میتونی :

  • نوع دسته بندی هات رو مشخص کنی (برای هر مدل)
  • ساختار درختی بدون محدودیت ایجاد کنی
  • مدل های هر دسته بندی رو بگیری (یا مدل های خود دسته بندی + دسته بندی های زیر مجموعه اش)
  • روی دسته بندی ها به روابطی مثل ancestors، descendants، children، parent دسترسی داری + یه سری متد های کاستوم
  • روی مدل هات هم به دسته بندی ها دسترسی داری + روش هایی برای فیلتر داده ها

سید احمد
تخصص : برنامه نویس
@tamiratsg 1 سال پیش آپدیت شد
0

@pooriya.mostaan
سلام ممنون بابت راهنمایی
نه نشون نمیده، به نظرتون کجای کار رو دارم اشتباه میرم که ارتباط برقرار نمیشه؟


سید احمد
تخصص : برنامه نویس
@tamiratsg 1 سال پیش مطرح شد
0

@ali.bayat
سلام جناب بیات، پکیج خیلی خوبی هست
حیف که دیر با این پکیج آشنا شدم و الان پروژه رو به اتمام هست و دیگه نمیتونم تغییر بدم
ولی آینده حتما استفاده میکنم
اگر یک فیلم آموزشی و همچنین امکان اضافه کردن آیکون رو بزارید بسیار عالی تر میشه


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

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