В настоящее время я работаю над проектом, где, если дата в прошлом. Пользователь должен получить электронное письмо с уведомлением о том, что текущий «Контракт» завершен. Сейчас я уже построил функцию, где, если дата в прошлом, пользователи получают электронное письмо, но проблема в том, что каждый раз, когда пользователь перезагружает страницу, он снова отправляет электронное письмо. Теперь я добавил в свою таблицу столбец с именем email_send
Какое значение по умолчанию равно 0, но оно не обновляется с 0 до 1, когда функция отправляет электронное письмо?
Это мой sslController. php:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class sslController extends Controller
{
function SSL(){
$data = DB::table('SSL')->where('userID', Auth::id())
->join('users', 'users.id', '=', 'SSL.userID')->get();
return view('SSL',['data'=>$data]);
}
}
Обратите внимание, что объединение выполняется так, что вошедший в систему пользователь видит только свои данные в таблице
Это sslModel. php:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class sslModel extends Model
{
protected $table='SSL';
protected $fillable = [
'email_send',
];
}
и это часть моего ssl.blade. php:
</tr>
@foreach ($data as $i )
<tr>
<td>
{{$i->AanvraagID}}
</td>
<td>
{{$i->Status}}
</td>
<td>
{{$i->StartDatum}}
</td>
<td>
{{$i->EindDatum}}
</td>
<td>
{{$i->Leverancier}}
</td>
<td>
{{$i->Product}}
</td>
<td>
{{$i->Validatie}}
</td>
<td>
{{$i->TypeCertificaat}}
</td>
<td class="wrong">
@php
$date = new DateTime($i->EindDatum);
$now = new DateTime();
if($date < $now) echo 'Certificaat verlopen';
if ($date < $now && $i->email_send == 0) {
$user = App\User::find(1)->first();
$user->notify(new App\Notifications\TaksComplete);
$user->update(['email_send' => 1]);
}
@endphp
</td>
</tr>
Я также попробовал это:
if ($date < $now && $i->email_send == 0) {
$user=App\User::find(1);
$user->notify(new App\Notifications\TaksComplete); $SSL=App\sslModel::find(1);
$SSL->email_send=1;
$SSL->update();
}