Laravel检查状态并发送电子邮件

时间:2018-05-21 10:00:08

标签: php laravel

你好我有事件表。
在表格事件中,我的列状态为:

1)0 - 等待
2)1 - 接受

列:date_start。

我需要检查status = 0的所有回复,并在开始活动开始前30天发送电子邮件。

实施例: 我有事件:

1)名称街道事件
2)status = 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());
                }
     }
}

我需要做什么,我的任务已经实现。我需要cron吗?

0 个答案:

没有答案