SQLSTATE [HY000]: общая ошибка: 1364 Поле 'hours' не имеет значения по умолчанию (SQL: вставить в значения `payrolls` () ()) - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь вставить 'employee_id', который принадлежит таблице сотрудников, в таблицу payrolls, но я продолжаю получать эту ошибку, несмотря на наличие $fillable = ['over_time', 'notified','hours','rate', 'gross', 'employee_id'], есть ли другое решение для этого?

Schema::create('payrolls', function (Blueprint $table) { 
     $table->bigIncrements('id'); $table->boolean('over_time')->default(0); 
      $table->boolean('notified')->default(0);        
      $table->integer('hours')->nullable(0);
      $table->integer('rate')->nullable(0); 
      $table->integer('gross')->nullable(0); 
      $table->softDeletes(); $table->timestamps(); 
    });

Ответы [ 2 ]

0 голосов
/ 07 марта 2020

изменить поле данных.

$table->integer('hours')->nullable();
0 голосов
/ 07 марта 2020

В соответствии с миграцией вы определили hours столбцы nullable false, что означает, что оно не может быть нулевым, а также для этого столбца не определено значение default.

По какой-то причине ваш hours становится пустым в вашем запросе, поэтому вы получаете эту ошибку.

$table->integer('hours')->nullable(0);

Чтобы решить эту проблему, либо задайте значение по умолчанию для вашего столбца часов, как показано ниже, либо передайте действительное значение в hours столбец

$table->integer('hours')->default("00");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...