В настоящее время у меня есть эта функция в моем представлении:
</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);
$user->notify(new App\Notifications\TaksComplete);
}
@endphp
</td>
</tr>
Я хотел бы знать, возможно ли добавить это в мой контроллер, чтобы мое представление только отображало результат.
Это мой контроллер:
<?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())->get();
return view('SSL',['data'=>$data]);
}
}
это моя модель:
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
class sslModel extends Model
{
use Notifiable;
protected $table='SSL';
protected $fillable = [
'email_send',
];
}
Теперь проблема в том, что контроллер не знает таких вещей, как DateTime()
Функция выполняет следующие действия: если у пользователя есть что-то, что прошло после текущей даты, он отправит электронное письмо пользователю. Но теперь каждый раз, когда пользователь перезагружает страницу, он снова отправляет электронное письмо. Эта функция предназначена для остановки этого, но она не работает, на мой взгляд:
$SSL=App\sslModel::find(1);
$SSL->email_send = 1;
$SSL->save();
Это не меняет столбец email_send
на 1 с 0 в таблице SSL в моей базе данных.
Можно ли добавить этот код в мой контроллер (или модель)? и чтобы столбец обновлялся в базе данных?
миграция моей пользовательской таблицы:
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}