Я сделал все обязательные поля обнуляемыми, но все равно получаю эту ошибку
SQLSTATE [23000]: нарушение ограничения целостности: 19 Ошибка ограничения NOT NULL: public_problems.name (SQL: вставить в значения public_problems (answer, helper_id, helper_name, updated_at, created_at) (Привет, братан, все будет хорошо, 2, kakashi, 2020- 07-30 07:35:05, 2020-07-30 07:35:05))
Вот моя база данных: -
public function up()
{
Schema::create('public_problems', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->integer('user_id')->unsigned();
$table->text('answer')->nullable();
$table->integer('helper_id')->unsigned()->nullable();
$table->string('helper_name')->nullable();
$table->string('title');
$table->text('problem');
$table->string('filled_by');
$table->timestamps();
});
}
Модель: -
class PublicProblem extends Model
{
protected $fillable = ['name', 'user_id', 'title', 'problem', 'filled_by', 'helper_id', 'answer', 'helper_name'];
}
Я разделил это поле на 2 функции: -
Контроллер
public function store(Request $request)
{
$data = request()->validate([
'title' => 'required',
'problem' => 'required',
]);
PublicProblem::create([
'title'=>$data['title'],
'problem'=>$data['problem'],
'name'=>Auth::user()->name,
'user_id'=>Auth::user()->id,
'filled_by'=>Auth::user()->uuid,
]);
return redirect('/home');
}
public function answer(Request $request) //The Error Occurs when I try to execute this function
{
$data = request()->validate([
'answer' => 'required',
]);
PublicProblem::create([
'answer' => $data['answer'],
'helper_id' => Auth::user()->id,
'helper_name' => Auth::user()->name,
]);
return redirect('/home');
}
Ошибка возникает, когда я пытаюсь выполнить функцию answer()
Не могу понять, в чем ее причина, пожалуйста, помогите
name
не допускает значения NULL. Вы пытаетесь создатьPublicProblem
в своемanswer function
, вы должны заполнить все данные, которые не допускают значения NULL - person Doggo   schedule 30.07.2020