Как узнать, было ли отправлено определенное уведомление в laravel - PullRequest
0 голосов
/ 13 мая 2018

Я создаю сайт, на котором пользователи могут купить план на любое предполагаемое время. После того, как они купили план, я создал промежуточное ПО, чтобы проверить, когда план почти завершен (70% в плане), а затем отправил уведомление. Теперь проблема в том, что я пытаюсь выяснить, было ли данное уведомление уже отправлено, прежде чем отправлять другое уведомление. Я использовал метод уведомления базы данных.

Чтобы достичь этого, мне нужно было создать модель уведомлений для взаимодействия с моей таблицей уведомлений.

    <?php

    namespace App;

    use Illuminate\Database\Eloquent\Model;

    class Notification extends Model
    {
        protected $table= "notifications"; 
    }

Рассматриваемая посуда

 public function handle($request, Closure $next)
    {
       // dd(Carbon::now()->format("Y-m-d"));
       $plan = Booking::where("user_id", Auth::id())
                        ->where("approve", true)
                        ->where("end_date", '>', Carbon::now()->format("Y-m-d"))
                        ->get();
        $i =0;
        $save = [];

        foreach($plan as $plan){

           $save[$i] = (new Plan)->percentageMeter($plan->start_date, $plan->end_date);
           if($save[$i] >= 70){

                $realNotify= Notification::where("notifiable_id", $plan->user_id)
                                    ->get();
                foreach($realNotify as $notify){

                    if($notify->data['plan_id'] == $plan->id && realNotify ==true ){
                        continue;

                    }
                    else{

                        ComNotify::planAboutToExpire(Booking::find($plan->id));

                    }
                }



               continue;

           }

           $i++;
        }
    // dd($save);

    }

одна из основных причин, по которой у меня возникла эта проблема, заключается в том, что я не могу получить доступ к объекту plan_id, поскольку у него нет собственного столбца таблицы.

Есть ли способ сделать это с помощью Laravel? аккуратный путь.

public function toArray($notifiable)
    {
        return [
            "type"=>"plan_about_to_expire",
            "message"=>"Your plan will soon expire on " . $this->plan->end_date,
            "plan_id"=>$this->plan->id,


        ];
    }

Мое уведомление для метода Array

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...