راکت

سیستم اطلاعیه در لاراول

5 پاسخ

سلام
من میخوام یک بخش برای کاربران قرار بدم که اطلاعیه هایی که مدیر سایت قرار میده، رو براشون داخل یک لیست نمایش بده و اینکه تعداد اطلاعیه های خوانده نشده رو هم بصورت عدد در پنل کاربر نمایش بدم. اما سوال من این هستش که چطور میشه اطلاعیه ای که کاربر مطالعه کرد رو از تعداد اطلاعیه هایی که نخوانده کسر کرد.
ممنون میشم راهنمایی کنید.

ثبت پرسش جدید

پاسخ‌ها

5
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

من میخوام یک بخش برای کاربران قرار بدم که اطلاعیه هایی که مدیر سایت قرار میده، رو براشون داخل یک لیست نمایش بده .

خب یک جدول به اسم Notification درست کن مثلا با فیلدهای
TITLE, BODY, DATE, TYPE
و هربار کاربر ورود میکنه یا مثلا نوگیشن ریفرش میشه کوئری بزن و اطلاعیه ها رو نمایش بده.

و اینکه تعداد اطلاعیه های خوانده نشده رو هم بصورت عدد در پنل کاربر نمایش بدم .

خب برای اینکار یک جدول بزن مثلا به اسم ReadNotify و اونجا دو تا فیلد User_id و Notify_id رو بذار و اطلاعات رو توش ذخیره بکن

و تویی مدل Notification یک ریلیشن بزن

Solgan
Solgan
@solgan

تخصص: برنامه نویس سمت سرور(php-laravel)

@juza66
ممنونم اما ببینید من همه اینکارا رو کردم، چطور شرط کوئری تو کنترولر بزنم؟

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

رامین رضائی
رامین رضائی
@raminr77

تخصص: گرافیست سابق و برنامه نویس حال

سلام
به من این کار رو دقیقا همین هفته پیش انجام دادم.
یک جدول پیام و یک جدول برای پیام های خوانده شده ایجاد کن ، حالا یک پیام ارسال کن بعدش هر کاربری پیام رو خوند ای دی کاربر و آی دی پیام رو بزار توی جدول خوانده شده ها ... حالا از این به بعد وقتی میخوای پیام های خوانده نشده کاربر رو نشون بدی میشه کل پیام هایی که به کاربر مربوطه منهای تعداد پیام هایی که خونده که توی لاراول خیلی راحت میتونی count بگیری !

این کار از نظر O و ساختمان داده هم بهینه هست و اوکیه !
روش های دیگه ای هم هست که من به نظرم مفید نیستند و O بالای دارند موقع select

Solgan
Solgan
@solgan

تخصص: برنامه نویس سمت سرور(php-laravel)

سلام
@raminr77
ممنونم بابت پاسختون
بنده هم همین کارو کردم.
بازم تشکر

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

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