درود وقت بخیر
من میخوام اطلاعاتی نظری یوزر آی دی و پست آی دی رو در یک جدول دیگه ثبت کنم - که هر یوزر فقط یکبار بازدیدش ثبت بشه از طریق یوزر آی دی .
تجربه کمی دارم میخوام بدونم کدی که نوشتم ( که کار میکنه برام همین کد ) درسته یا میشه کد بهتری هم جایگزین کرد
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]);
}
با تشکر
موضوعی که مطرح کردید رو به شکل های مختلفی میشه پیاده کرد و خیلی بستگی داره به نیازمندی های مشخص هر پروژه و اینکه تا چه حد خواسته باشیم دقیق کار بکنیم.
مثلا ایرادی که میشه به کد شما گرفت این هست که فقط در خصوص کاربران ثبت نام و لاگین کرده جواب میده. (که البته ممکنه دقیقا همون چیزی باشه که دنبالش هستید)
یا مثلا شاید در پروژه ای با بازدید خیلی بالا، نخواسته باشیم که به ازای هر بازدید از صفحه چندین کوئری فقط برای بررسی این موضوع به دیتابیس ارسال بشه...
یک راه دیگه اش میشه استفاده از cookie باشه و یا راه دیگه استفاده از session. بجای user_id از ip کاربر هم میتونید استفاده کنید که محدود به کاربران لاگین کرده نشید.
ولی در کل همین جوری هم خیلی بد نیست.
یک نکته حاشیه ای دیگه هم اینکه سعی کنید استانداردهای نام گذاری کلاس ها ومدل ها رو رعایت کنید تا کدتون خوانا تر بشه. مثلا حرف اول کلاس مدل ها باید با حرف بزرگ باشه: View
ثانیا بهتره از اسامی که تقریبا توسط فریم ورک بصورت رزرو شده هستند استفاده نکنیم. جایگزینش مثلا میشه PostView
یا PageView
...
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟