【发布时间】:2015-12-03 21:55:42
【问题描述】:
我有一个名为name、description 和features 的表单属性,其中features 是多个复选框,就像
feature 1
feature 2
feature 2
feature 4
用户可以一次选择多个复选框。我有一个名为product 的数据库表
-----------------------------------------
id name description features
-----------------------------------------
当用户选择多个复选框时,我需要在功能列中插入所有复选框值。现在我可以echo选中的复选框值像
$feat = Input::get('features');
foreach ($feat as $key => $n){
echo $feat[$n];
}
但我需要将这些功能插入数据库,对于正常插入,我们会这样做:
$product = new Product;
$product->name = Input::get('name');
$product->description = Input::get('description');
$product->features = Input::get('features');
$product->save();
但是我应该如何修改上面的代码以便将数组值保存到数据库中?我正在尝试将值插入同一列,因为我不会根据功能查询它。
【问题讨论】:
-
将数组值保存到数据库中的单列是一个非常糟糕的主意。您应该首先考虑规范化您的数据和数据结构。使用 product_feature 表之类的东西,其中,对于每个产品,您将有几行,每个特性一个。
标签: php mysql arrays laravel-5