私は、この条件でのドライバモデルがあります: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');
});
}
私は、ドライバを作成しようと記入していなかったときに問題がありますそれらのフィールドにはエラーの小数点以下の値が表示されます。 10進数で空の文字列をデータベースにNULLとして格納することはできませんか?
注:これらのフィールドは必須ではありません。
nullableとdefaultを持つ理由は何ですか?新しい行が追加されたときに、デフォルト値を0またはnullにしますか? 'default( '0')'を追加して何が起こるかを見てください。 – usrNotFound