hamed sarkhosh
4 سال پیش توسط hamed sarkhosh مطرح شد
6 پاسخ

گرفتن اطلاعات مدل با استفاده از slug بدون تغییر routekeyname

دوستان سلام.
من اومدم برای سایتم از پکیج eloquent sluggable استفاده کردم تا لینک های سایت رو بر اساس slug بگیرم
ولی حالا توی مدلم نمی خوام routekeyname رو به slug تغییر بدم. چون توی اپلیکیشن های مربوط به سایت داره دیتاهارو از طریق id میگیره و پاس میده و من اگه routekeyname رو تغییر بدم به مشکل می خورم اونجا
راه حلی دارید ؟‌ که داخل سایت روت هام رو از طریق اسلاگ بگیرم ولی routekeyname رو تغییری ندم
یا اینکه حتی ما بتونیم چند تا routekeyname مختلف تعریف کنیم. یکی برای slug ها و یکی برای id
@ali.bayat
@Alimotreb
@hesammousavi
و ...


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

شما حتما میخواید از Route Model Binding استفاده کنید ؟‌چون اگر نمیخواید راه ساده‌اش اینکه داخل کنترلر مقدار slug رو بگیرید و با مدل مربوطه بیاید در جدول where کنید و پیدا کنید هست یا نیست.
اگر هم میخواید حتما از Route Model Binding استفاده کنید پس میتونید از روش explicit binding استفاده بفرمایید
https://laravel.com/docs/5.8/routing#explicit-binding


داود خانی
تخصص : برنامه نویس لاراول و متخصص سئو...
@davoodkhany 4 سال پیش مطرح شد
1

سلام خسته نباشی شما که داری از اپلیکیشن استفاده می کنی بخش اپلیکیشن رو با بخش api لاراول و بخش سایت رو با route ها پیاده سازی کنید به نظرم این بهترین کاره چون شما به مرور زمان شاید سایتتون تغییری نکنه ولی اپلیکیشنتون تغییر می کنه پس بهترین کار اینه که جدا گانه بنویسید..


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

شما حتما میخواید از Route Model Binding استفاده کنید ؟‌چون اگر نمیخواید راه ساده‌اش اینکه داخل کنترلر مقدار slug رو بگیرید و با مدل مربوطه بیاید در جدول where کنید و پیدا کنید هست یا نیست.
اگر هم میخواید حتما از Route Model Binding استفاده کنید پس میتونید از روش explicit binding استفاده بفرمایید
https://laravel.com/docs/5.8/routing#explicit-binding


داود خانی
تخصص : برنامه نویس لاراول و متخصص سئو...
@davoodkhany 4 سال پیش مطرح شد
0

@hesammousavi
دیگه شما از ما استاد تری ما یک ساله کار می کنیم شما چند ساله مطمعنن بهترین جواب رو میدید.

کاش میشد اینجا ایموجی هم گذاشت ((((::


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

درود
آقای موسوی به خوبی توضیح دادند. لاراول برای راحتی توسعه دهنده داره از Route Model Binding استفاده میکنه. اگرم شما نخواهید استفاده کنید موردی نداره


hamed sarkhosh
تخصص : برنامه نویس
@ham.sarkhosh 4 سال پیش مطرح شد
0

@hesammousavi @ali.bayat
بله حق با شماست. خودم هم همین کار رو کردم و کارم رو راه انداختم.
ولی گفتم شاید مثل خیلی مواقع میبینیم که لاراول راه حل های خیلی خوبی رو برای این مشکلات ارائه داده، ایندفعه هم راه حلی رو ارائه داده باشه که من ازش اطلاع نداشته باشم و دوستان دیگه بر حسب تجربه بیشترشون در جریان باشن.
البته من امروز گیت هاب لاراول رو در این مورد سرچ کردم و دیدم که چندین راهکار پیشنهاد شده که route model binding ارائه بشه که تعیین بشه از روی کدوم فیلد جدول اطلاعات گرفته بشه که مثل اینکه به تایید خود تیلور اوتول هم رسیده بود و قراره که انجام بشه و در این سایت هم خبرش رو خوندم که گفتن قراره با لاراول 7 این ویژگی هم عرضه بشه
https://laravel-news.com/implicit-route-model-binding
ولی راجع به explicit binding اطلاع زیادی ندارم و نمی دونم که می شه باهاش این مسئله رو فعلا به صورت موقت حل کرد یا خیر. حتما تست می کنم .
ممنون از همگی


دانا
@zenerdana 4 سال پیش مطرح شد
0

سلام چطور میشه از روش Explicit در کنترل ریسور استفاده کرده چون انگار به صورت پیش فرض Implicit است ؟


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

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