【发布时间】:2017-11-07 00:42:42
【问题描述】:
当我尝试将数据保存到数据库中时,由于某种原因,我只能在其中保存 1 个整数而不是多个整数。谁能告诉我为什么?我在想这可能是因为我在数据库中使用 FamilyAge 作为整数而不是字符串。
这是我数据库中数据的截图,抱歉我放了一些奇怪的数据,我只是随机输入一些单词进行测试。 正如您在我的屏幕截图中看到的,最后一行,我想保存 3 个数据,但对于家庭年龄部分,只保存 1 个数据。
family_info 控制器(我是这样保存的)
public function submit(Request $request)
{
$personal_info = Session::get('data');
$data7 = array();
$data7['NameOfFamily'] = implode(' , ', $request->NameOfFamily);
$data7['Relationship'] = implode(' , ', $request->Relationship);
$data7['FamilyAge'] = implode(' , ', $request->FamilyAge);
$family_info = new family_info;
$family_info = family_info::create($data7);
$family_info->personal_infos()->associate($personal_info);
$family_info->save();
}
familyInfos 表:
Schema::create('family_infos', function (Blueprint $table) {
$table->increments('id');
$table->engine = 'InnoDB';
$table->string('NameOfFamily');
$table->string('Relationship');
$table->integer('FamilyAge');
$table->integer('user_id');
$table->timestamps();
});
【问题讨论】:
-
你的数据类型应该是 varchar 来存储字符串。当您添加逗号分隔的年龄时。
-
@Suraj 感谢您的回复,我的数据类型必须是 varchar 是什么意思?我怎么做?我只知道在数据库中我可以将其设置为 varchar 但我如何在代码中进行设置。你能给我举个例子吗?
标签: mysql database laravel integer