@hesammousavi
@ali.bayat
سلام دوستان
چند تا مدل در نظر بگیرید (مثلا Product- Course - Post) که دارای دسته بندی هستن. ما میخوایم دسته بندی رو به صورت Polymorphic ، با رابطه ی چند به چند ، دارای دسته بندی والد و slug یونیک پیاده سازی کنیم اما مشکلی که داریم اینه که یه دسته بندتوی مدل Post والدش با همون دسته بندی توی مدل Course یا Product فرق داره، مثلا والد گیتار الکتریک توی مدل Product میشه گیتار ام توی مدل Course میشه آموزش راک.
به نظرتون چه جوری میشه توی رابطه Polymorphic ، این مشکل رو حل کرد، نمیخوام به ازای هر مدل یه مدل Category جدید داشته باشم.
معمولا قاعده رایج در مواقع مواجهه با slug های تکراری اضافه کردن یک عدد incremental به آخرش هست که اگر از پکیج هایی مثل cviebrock/eloquent-sluggable هم استفاده بکنید این کار اتومات انجام میشه.
یعنی میشه اینجوری:
Record A:
id: 1
title: گیتار الکتریک
categorable_type: App\Prducct
categorable_id: 42
slug: گیتار-الکتریک
و
Record B:
id: 2
title: گیتار الکتریک
categorabletype: App\\Course
categorableid: 7
slug: گیتار-الکتریک-1
اگر هم نخواستید میتونید خودتون بصورت دستی یک چیز دیگه قرار بدید. مثلا اسپیس بینشون رو در یکی حذف کنید یا ...
میتونی از پکیج زیر استفاده کنی:
https://github.com/AliBayat/Laravel-Categorizable
مستندات در گیتهاب و گفتگوی زیر:
https://roocket.ir/discuss/6117
به نظرم یک قسمت کار رو دارید اشتباه میرید و اون هم اینکه اگر چه عناوین اسمی دو تا دسته بندی مثل هم باشند ولی نباید اون دو تا رو به یک چشم ببینید.
یعنی در همین مثلالی که زدید دسته بندی «گیتار الکتریک» در مدل Product تفاوت های زیادی داره از نظر منطقی با دسته بندی «گیتار الکتریک» در مدل Course و اگر یکی در نظر بگیریدشون مشکلات زیادی پیش میاد. از اون طرف گزینه دیگه هم سربار خیلی زیادی نداره. فقط کافیه این دو تا مورد رو از هم تفکیک کنید و یعنی دو تا رکورد مختلف باشند. (گرچه عناوینشون با هم به ظاهر یکسان هست)
Record A:
id: 1
title: گیتار الکتریک
categorable_type: App\Prducct
categorable_id: 42
و
Record B:
id: 2
title: گیتار الکتریک
categorable_type: App\Course
categorable_id: 7
@mhyeganeh
فیلد slug که میخوام بعنوان routeModelBinding تعریف بشه رو چیکار کنم؟ این فیلد توی دیتابیس unique هستش و نمیتونم دو تا category با اسلاگ یکسان داشته باشم
معمولا قاعده رایج در مواقع مواجهه با slug های تکراری اضافه کردن یک عدد incremental به آخرش هست که اگر از پکیج هایی مثل cviebrock/eloquent-sluggable هم استفاده بکنید این کار اتومات انجام میشه.
یعنی میشه اینجوری:
Record A:
id: 1
title: گیتار الکتریک
categorable_type: App\Prducct
categorable_id: 42
slug: گیتار-الکتریک
و
Record B:
id: 2
title: گیتار الکتریک
categorabletype: App\\Course
categorableid: 7
slug: گیتار-الکتریک-1
اگر هم نخواستید میتونید خودتون بصورت دستی یک چیز دیگه قرار بدید. مثلا اسپیس بینشون رو در یکی حذف کنید یا ...
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟