Mysql 如何正确命名数据库列
在excel文件中,我有如下列:;11.01-12.00, 12.01-13.00, ..., 29.01-30.00. 而这个栏目的内容就是价格。我想在MySQL的excel列中存储多个范围的价格Mysql 如何正确命名数据库列,mysql,database,laravel,Mysql,Database,Laravel,在excel文件中,我有如下列:;11.01-12.00, 12.01-13.00, ..., 29.01-30.00. 而这个栏目的内容就是价格。我想在MySQL的excel列中存储多个范围的价格 我必须创建这样的表吗?或者你们有更好的方法吗?请指导我?在数据库表迁移文件中,定义一个名为price的列来保存您的值 $table->integer('price'); 将价格存储为货币的最低分母,执行数据库内外转换所需的任何运算 您无需为不同的价格创建单独的列 编辑1 根据您的问题更新,即
我必须创建这样的表吗?或者你们有更好的方法吗?请指导我?在数据库表迁移文件中,定义一个名为
price
的列来保存您的值
$table->integer('price');
将价格存储为货币的最低分母,执行数据库内外转换所需的任何运算
您无需为不同的价格创建单独的列
编辑1
根据您的问题更新,即信息位于excel文件中,您将希望使用包(无需重新发明轮子)来执行导入
在数据库表迁移文件中,定义一个名为
price
的列来保存您的值
$table->integer('price');
将价格存储为货币的最低分母,执行数据库内外转换所需的任何运算
您无需为不同的价格创建单独的列
编辑1
根据您的问题更新,即信息位于excel文件中,您将希望使用包(无需重新发明轮子)来执行导入
导入excel文件的好教程一个选项可能是将列
价格范围
或价格
定义为json列,并将数据存储为键=>值对,例如:“11.01-12:00”=>11.50
在表的迁移文件中,添加一列
$table->json(“价格”);
在模型类中,指定将prices
列转换为数组
classmymodel扩展了模型
{
受保护的$casts=['prices'=>'array'];
//…类代码的其余部分
}
通过指定强制转换,现在可以使用关联数组存储列上的数据,也可以使用php数组存储和更新数据
$myModel=新的myModel;
$myModel->prices=[
'11.01-12.00' => 11.50,
'12.01-13.00' => 12.35,
//...
'29.01-30.00' => 29.82,
];
$myModel->save();
更新数据
$myModel=myModel::find(5);
$newPrices=[
'11.01-12.00' => 11.20,
'12.01-13.00' => 12.63,
//...
'29.01-30.00' => 29.05,
]
$myModel->update(['prices'=>$newPrices]);
/或更新特定价格范围的价格
$myModel->update(['prices->11.01-12.00'=>11.25]);
Laravel文件:
price\u range
或prices
定义为json列,并将数据存储为键=>值对,例如:“11.01-12:00”=>11.50
在表的迁移文件中,添加一列
$table->json(“价格”);
在模型类中,指定将prices
列转换为数组
classmymodel扩展了模型
{
受保护的$casts=['prices'=>'array'];
//…类代码的其余部分
}
通过指定强制转换,现在可以使用关联数组存储列上的数据,也可以使用php数组存储和更新数据
$myModel=新的myModel;
$myModel->prices=[
'11.01-12.00' => 11.50,
'12.01-13.00' => 12.35,
//...
'29.01-30.00' => 29.82,
];
$myModel->save();
更新数据
$myModel=myModel::find(5);
$newPrices=[
'11.01-12.00' => 11.20,
'12.01-13.00' => 12.63,
//...
'29.01-30.00' => 29.05,
]
$myModel->update(['prices'=>$newPrices]);
/或更新特定价格范围的价格
$myModel->update(['prices->11.01-12.00'=>11.25]);
Laravel文件: