SQLSTATE[HY000]:General error: 1364 Field 'date_project_start' doesn't have a default value
После наполнения данными ,и нажатия на кнопку отправить происходит данная ошибка . Файл ProjectController.php
<?php
namespace App\Http\Controllers;
use App;
use App\Project;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
use Illuminate\Support\Facades\Request;
class ProjectController extends Controller
{
public function index() {
$project = App\Project::all();
return view('project.main', compact('project'));
}
public function show($id) {
$projects = App\Project::find($id);
return view('project.full', compact('projects'));
}
public function create() {
return view('project.add');
}
public function store()
{
$input = Request::all();
Project::create($input);
return redirect('project');
}
}
Но колонок update_at, create_at. у меня нету и не было . Не где их упоминания нету вообще ! Но это только если я создаю через сайт, если делаю все через PMA, то все хорошо, все данные выводятся без ошибок и каких либо заморочек !
Схема таблицы для миграции.
Schema::create('projects', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('zadacha');
$table->date('date_project_start');
$table->date('date_project_end');
$table->date('date_proektirovanie_start');
$table->date('date_proektirovanie_end');
$table->date('date_snabjenie_start');
$table->date('date_snabjenie_end');
$table->date('date_proizvodstvo_start');
$table->date('date_proizvodstvo_end');
});
Ответы (1 шт):
Если Ваше поле может содержать "пустое значение" вы должны сказать об этом базе данных, в laravel это происходит так:
// ...
$table->date('date_project_start')->nullable();
// ...
Тогда, если значение не задано(или задано null), база данных будет использовать NULL. Вы так же можете использовать метод ->default($val);, чтобы задать какое-то определенное значение. Однако не стоит путать null со значением, null это null, оно не равно пустой строке или 0.