راکت
حل شده

درخواست راهنمایی: ثبت صحیح اطلاعات یک مدل در مدلی دیگر

1 پاسخ

درود وقت بخیر
من میخوام اطلاعاتی نظری یوزر آی دی و پست آی دی رو در یک جدول دیگه ثبت کنم - که هر یوزر فقط یکبار بازدیدش ثبت بشه از طریق یوزر آی دی .
تجربه کمی دارم میخوام بدونم کدی که نوشتم ( که کار میکنه برام همین کد ) درسته یا میشه کد بهتری هم جایگزین کرد

if(Auth::check()){
if(!view::where('post_id',$post_id)->where('user_id',Auth::user()->id)->exists()){
view::insert(['post_id'=>$post_id,'user_id'=>Auth::user()->id]);
        }

با تشکر
shadi
shadi
@shadi.ahmadians
ثبت پرسش جدید

پاسخ‌ها

1
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

موضوعی که مطرح کردید رو به شکل های مختلفی میشه پیاده کرد و خیلی بستگی داره به نیازمندی های مشخص هر پروژه و اینکه تا چه حد خواسته باشیم دقیق کار بکنیم.
مثلا ایرادی که میشه به کد شما گرفت این هست که فقط در خصوص کاربران ثبت نام و لاگین کرده جواب میده. (که البته ممکنه دقیقا همون چیزی باشه که دنبالش هستید)
یا مثلا شاید در پروژه ای با بازدید خیلی بالا، نخواسته باشیم که به ازای هر بازدید از صفحه چندین کوئری فقط برای بررسی این موضوع به دیتابیس ارسال بشه...

یک راه دیگه اش میشه استفاده از cookie باشه و یا راه دیگه استفاده از session. بجای user_id از ip کاربر هم می‌تونید استفاده کنید که محدود به کاربران لاگین کرده نشید.

ولی در کل همین جوری هم خیلی بد نیست.

یک نکته حاشیه ای دیگه هم اینکه سعی کنید استانداردهای نام گذاری کلاس ها ومدل ها رو رعایت کنید تا کدتون خوانا تر بشه. مثلا حرف اول کلاس مدل ها باید با حرف بزرگ باشه: View ثانیا بهتره از اسامی که تقریبا توسط فریم ورک بصورت رزرو شده هستند استفاده نکنیم. جایگزینش مثلا میشه PostView یا PageView ...

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

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

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