تعریف آدرس مقاله در مدل و آوردن نام کتگوری ها در آدرس

- 1 سال پیش
توسط حسام موسوی آپدیت شد
ali bahaedini ( 0 تجربه )
1 سال پیش

سلام.

فرض کنید دو مدل داریم. این دو مدل تقریبا در آموزش فروشگاهی لاراول همین سایت پیاده شده...که مهمترین فانکشن‌هاشون نوشتم...

Article.php

public function sluggable()
{
    return [
        'slug' => [
            'source' => 'title'
        ]
    ];
}

public function path()
{
    return "/$this->slug";
}

Category.php

public function childs() {
      return $this->hasMany('AppCategory','parent_id','id') ;
  }

در آموزش path اینطور نوشته و نمایش داده میشه:

{{ $article->path() }}

که این چاپ میشه: example.com/article_slug

حالا فرض کنید من یک دسته بندی تو در تو ساختم و بخوام path اونو به صورت زیر نمایش بدم

    example.com/parentCategory/subCategory-1/.../subCategory-n/article_slug

مثال: example.com/electronic/tv/lcd/lg6235

یعنی اینکه دسته‌بندی و زیر شاخه های دسته‌بندی بیارم توی URL مقاله....اینکار میشه توی مدل انجام داد؟

فرمت تقریبی جدول کتگوری بدین شکل هست:

    ‍‍‍
     / id /  article_id  / parent_id/slug / name

در view.php و route ها هیچ مشکلی ندارم. فقط سوالم اینه میشه در مدل اینو نوشت یک کتگوری ها و زیر کتگوری ها در دامین آورد و مستقیم فانکشن اون در view ها صدا زد؟

حسام موسوی ( 91464 تجربه )
1 سال پیش

از داخل model میتونید خیلی راحت به رابطه ها هم دسترسی پیدا کنید یعنی مثل حالت زیر

$this->category()->first()

چنین کارهای رو میشه انجام داد پس جوابتون بله هست

برای ارسال پاسخ باید وارد سایت شوید