راکت

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

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 بر میگردونه
ممنون میشم یه راهنمایی کنید

ثبت پرسش جدید

پاسخ‌ها

5
سید احمد
سید احمد
@tamiratsg

تخصص: برنامه نویس

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

پوریا مستعان
پوریا مستعان
@pooriya.mostaan

تخصص: Full-Stack Developer

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

$Post = $categoryPost->posts();

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

$Post = $categoryPost->posts;

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

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

تخصص: برنامه نویس

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

سید احمد
سید احمد
@tamiratsg

تخصص: برنامه نویس

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

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

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