راکت
حل شده

کاربا notifications در لاراول

9 پاسخ

سلام دوستان میخواستم بدونم شما برای مشکل روبرو چه روشی رو پیشنهاد میکنید :
1-وقتی مقاله کسی با موفقیت پذیرفته میشه یا کامنت کسی توسط ادمین تایید میشه باید یک نوتیفیکشن ارسال بشه و موفقیت امیز بودن اون رو برای کاربر نمایش بده حالا میخواستم بدونم به نظر شما برای این کار دوتا کلاس نوتیفیکیشن بشازم یا فقط یکی بسازم و مقدار نمایشی پیام رو عوض کنم ؟
2-چطور میتونم یک روشته رو از کنترلر بفرستم به کلاس نوتیفیکیش چون وقتی این رشته رو داخل construct میزارم هنگام دپریافت نوتیفیکیشن مقدار نال نمایش داد ه میشه !
@mhyeganeh @gomnam @endworld @meysampro @juza66

amir
amir
@behzadi
ثبت پرسش جدید

پاسخ‌ها

9
سبحان دادخواه
سبحان دادخواه
@SobhanDadkhah

تخصص: دانشجوی برنامه نویسی :)

بهترین پاسخ

سلام مجدد.
دلیل اینکه نال دریافت میکنید داخل متد constructor هست:


    public function __construct($message)
    {
      // نادرست  $this->$message = $message ;  
            $this->message = $message;
    }

بخاطر اون علامت $ شما مقداری رو داخل پراپرتی message نمیریختید واسه همین نال بود

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود...
از این روش استفاده کن که عالیه...
پیوند زیر:
https://yun.ir/hn2hv1

amir
amir
@behzadi

تخصص: بک اند و فرانت اند

درود
من منظورم مشکل در نمایش نوتیفیکیشن نبود مشکلم در ثبت نوتیفیکیشن در دیتابیس بود ! @endworld

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

سبحان دادخواه
سبحان دادخواه
@SobhanDadkhah

تخصص: دانشجوی برنامه نویسی :)

با سلام. معمولا دو کلاس مختلف ساخته میشه توی این موارد که هر کلاسی وظیفه مشخص خودشو داشته باشه. اصل Single Responsibility.
اما خیلی اوقات هم میشه شروطی گذاشت مثل سناریویی که گفتین که دو نوتیفیکیشن که تغییرات جزئی دارند یکی در نظر گرفته بشن.

دو اینکه موردی که گفتین نباید نال باشه میتونید مقادیر دلخواه پارامتر دریافت کنید در constructor و ازشون استفاده کنید. احتمالا یه جایی موردی داشته که نال دریافت کردین. این مورد رو اگر کد بذارید راحت تر میشه راهنمایی کرد
موفق باشید

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

@behzadi
مثل راکت که اعلان های خوانده شده نمایش میده؟

amir
amir
@behzadi

تخصص: بک اند و فرانت اند

amir
amir
@behzadi

تخصص: بک اند و فرانت اند

@SobhanDadkhah درود سبحان جان
این کدهای کنترلر برای ارسال نوتیفیکیشن :

        $user = User::find($user_id->builder_id) ; 
        $res = Notification::send($user , new success('مقاله شما با موفقیت تایید شد!')) ;

این کد های کلاسی که نوتیفیکیشن رو میفرسته :

<?php

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;

class success extends Notification
{
    use Queueable;
    public $message ; 
    /**
     * Create a new notification instance.
     *
     * @return void
     */

    public function __construct($message)
    {
        $this->$message = $message ;  
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['database'];
    }

    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    // public function toMail($notifiable)
    // {
    //     return (new MailMessage)
    //                 ->line('The introduction to the notification.')
    //                 ->action('Notification Action', url('/'))
    //                 ->line('Thank you for using our application!');
    // }

    /**
     * Get the array representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function toArray($notifiable)
    {

        return [
            'message' => $this->message
        ];
    }
}
amir
amir
@behzadi

تخصص: بک اند و فرانت اند

@SobhanDadkhah خیلی عجیب بود نه vsc ارور میداد نه خوده سایت تشکر

سبحان دادخواه
سبحان دادخواه
@SobhanDadkhah

تخصص: دانشجوی برنامه نویسی :)

عجیبه.
از درست فراخوانی شدن کلاس نوتیفیکیشنتون مطلع بشید. منظورم داخل کنترلر هست . البته در اون صورت باید ارور دریافت کنید موقع ران تایم که مثلا کلاس sucess وجود نداره 🤔


ویرایش: متوجه نشدم مشکلتون حل شده بود. موفق باشید 😎

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

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