جشنواره تکرارنشدنی نوروزی راکت آغاز شد! | هر روز یک سوپرایز ویژه!

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
Solgan
4 سال پیش توسط Solgan مطرح شد
5 پاسخ

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

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


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
1

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

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

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

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

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


Solgan
تخصص : برنامه نویس سمت سرور(php-larav...
@solgan 4 سال پیش مطرح شد
0

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


webazin webazin
@webazin.org90 4 سال پیش مطرح شد
رامین رضائی
تخصص : گرافیست سابق و برنامه نویس حال
@raminr77 4 سال پیش مطرح شد
0

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

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


Solgan
تخصص : برنامه نویس سمت سرور(php-larav...
@solgan 4 سال پیش مطرح شد
1

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


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

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