У меня есть модель драйвера с этим условием:1366 Некорректное десятичное значение Laravel
protected $fillable = [
'hourly_rate',
'ot_hourly_rate',
'commission_rate',
'basic_salary',
'join_date',
];
и вот мой код переноса:
public function up()
{
Schema::table('drivers', function ($table) {
$table->integer('hourly_rate', 24,2)->nullable()->default(0);
$table->decimal('ot_hourly_rate', 24,2)->nullable()->default(0);
$table->decimal('commission_rate', 24,2)->nullable()->default(0);
$table->decimal('basic_salary', 24,2)->nullable()->default(0);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('drivers', function ($table) {
$table->dropColumn('hourly_rate');
$table->dropColumn('ot_hourly_rate');
$table->dropColumn('commission_rate');
$table->dropColumn('basic_salary');
});
}
проблема, когда я пытаюсь создать драйвер и не заполнять в этом поле указывается десятичное значение ошибки. decimal не может хранить пустую строку как NULL в базе данных?
Примечание: это поле не требуется.
Почему у вас есть значение NULL и значение по умолчанию? Вы хотите, чтобы значение по умолчанию было равно 0 или null при добавлении новой строки? Попробуйте добавить 'default ('0')' и посмотреть, что произойдет. – usrNotFound