【发布时间】:2018-12-24 08:33:12
【问题描述】:
我有一个动态添加产品表单,我可以在其中访问与类型相关的字段和类别。
- fields 表有fieldname和id
- 类型表有标题。 字段和类型在模型中有很多关系
- 类别表有类别名称和类型ID
- 产品表具有与产品相关的类别 ID 和属性。
如果 type_id 为 1,我根据 type id 添加产品,然后 type_id 1 相关字段和类别显示在添加产品表单上。
现在的问题是,当第一次 URL 加载 type_id 的字段列表时,第二次时,如果产品表有该字段,则只检查第一个字段,然后跳过其他字段。
public function create($id){
$type = Type::find($id);
$category = Category::all();
foreach ($type->field as $key => $value) {
if ( Schema::hasColumn('products', "{$value->fieldname}") ) {
return view('products.create', compact('type', 'category'));
} else {
if( ! Schema::hasColumn('products', "{$value->fieldname}") ) {
foreach ($type->field as $key => $value) {
Schema::table('products', function ($table) use ($value) {
$table->string("{$value->fieldname}")->nullable()-> after('category_id');
});
}
return view('products.create', compact('type', 'category'));
}
}
}
}
【问题讨论】: