Я получил эту ошибку
SQLSTATE [23000]: Нарушение ограничения целостности: 1048 Столбец «email» не может быть пустым (SQL: вставить в invites
(email
, token
, updated_at
, created_at
) значения (?, JW5UCmfAhuPGVKMM, 2020-08-02 01:26:35, 2020-08-02 01:26:35))
в моем laravel приложение для приглашения пользователей. Это мой InviteController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use App\Invite;
use App\Mail\InviteCreated;
use Illuminate\Support\Facades\Mail;
class InviteController extends Controller
{
public function invite() {
return view ('invite');
}
public function process(Request $request) {
do {
$var = str_random(32);
$token = str_random();
} while (Invite::where('token', $token)->first());
Invite::create([
'email'=>$request->get('email'),
'token'=>$token]);
Mail::to($request->get('email'))->send(new InviteCreated($invite));
return redirect()->back;
}
public function accept($token){
if(!$invite = Invite::where('token', $token)->first()){
abort(404);
}
User::create(['email'=>$invite->email]);
$invite->delete();
return "Good job! Invite accepted";
}
}
Миграции
public function up()
{
Schema::create('invites', function (Blueprint $table) {
$table->increments('id');
$table->string('email');
$table->string('token', 16)->unique;
$table->timestamps();
});
}
Маршруты
Route::get('/', function () {
return view('welcome');
});
Route::get('invite', 'InviteController@invite')->name('invite');
Route::get('invite', 'InviteController@process')->name('process');
Route::get('accept/{token}', 'InviteController@accept')->name('accept');
Пожалуйста, что я здесь ошибаюсь?