SQLSTATE [22007]:无效的日期时间格式:1366错误的整数值:第1行的'excercise_type'列的'Walking'
public function up()
{
Schema::table('diabetic_records', function (Blueprint $table) {
$table->unsignedInteger('user_id')->nullable()->after('id');
$table->decimal('glucose_level',5,2)->nullable()->after('user_id');
$table->string('glucose_level_time')->nullable()->after('glucose_level');
$table->string('food_name')->nullable()->after('glucose_level_time');
$table->integer('food_amount')->nullable()->after('food_name');
$table->string('treatment')->nullable()->after('food_amount');
$table->string('medication_name')->nullable()->after('treatment');
$table->decimal('medication_dose',6,2)->nullable()->after('medication_name');
$table->string('medication_time')->nullable()->after('medication_dose');
$table->integer('excercise_type')->nullable()->after('medication_time');
$table->integer('excercise_duration')->nullable()->after('excercise_type');
});
}
答案 0 :(得分:0)
数据库中excercise_type
的数据类型必须已设置为DATETIME。将其更改为int(11)。并且该值必须是整数,而不是字符串,即walking。那可能会解决您的问题。
答案 1 :(得分:0)
我刚刚问了我哥哥,就找到了解决这个问题的方法。 首先,我的运动数据类型是int,我正在其中输入字符(字符串)。
$table->integer('excercise_type')->nullable()->after('medication_time');
视图:
<select class="custom-select d-block w-100" name="excercise_type" id="excercise_type" required>
<option selected="selected" >Walking</option>
<option >Running</option>
<option >Cycling</option>
</select>
在错误解析代码之前,我输入的是这样
现在让我们开始解决部分错误
1)首先在视图中的select标签下为选项提供1,2,3之类的值。
<select class="custom-select d-block w-100" name="excercise_type" id="excercise_type" required>
<option selected="selected" value="1">Walking</option>
<option value="2">Running</option>
<option value="3">Cycling</option>
</select>
2)只需转到您的config文件夹并创建一个名为constant.php的文件。
3)现在返回一个数组,并输入您的输入字段的名称,并为它们分配选项字段的值,就像您在视图侧编写的那样。
<?php
return[
'EXERCISE_TYPE_WALKING' => '1',
'EXERCISE_TYPE_RUNNING' => '2',
' EXERCISE_TYPE_CYCLING' => '3',
];
?>
我希望您能从中获得帮助。