Laravel проверить статус и отправить письмо - PullRequest
0 голосов
/ 21 мая 2018

Здравствуйте, у меня есть таблица с событиями.
В событиях таблицы у меня есть статус столбца с:

1) 0 - ожидание
2) 1 - принято

И столбец: date_start.

Мне нужнопроверьте все ответы, где статус = 0, и отправьте электронное письмо за 30 дней до начала события.

Пример: у меня есть событие:

1) имя улица Событие
2) статус = 0;
3) date_start = 22.06.2018

Мне нужно отправить электронное письмо, когда день будет: 22.05.2018, то есть завтра.

Я создал почту:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class NotifyApplication extends Mailable
{
    use Queueable, SerializesModels;


    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {

    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('emails.notify');
    }
 }

И я создал задание (NotifyJob):

<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use App\User;
use Mail;

class NotifyMail implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
                $users = User::all();
                $events = Events::all();
                foreach($users as $user) {
                   Mail::to($request->user())->send(new NotifyApplication());
                }
     }
}

Что мне нужно сделать, чтобы моя задача была выполнена.Мне нужен хрон?

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