Multifield多维数组字段-扩展form单序列化字段

使用
form


addMultifield($name = '', $title = '', $tips = '', $options = [], $default = [],$extra_class='') 添加多维字段序列化存储,每一行记录由options控制,field_name=>field_title

存储时 如 input('no') 获取出来是 [['name'=>'', 'value'=>'']]这样的结构;

测试代码
public function test(){
if(request()->isAjax()){
$mult_attribute = I('mult_attribute/a', []);
$this->checkPackagePrice($mult_attribute);
}else{
return ZBuilder::make('form')
->setPageTitle('新增商品-选择店铺')
->addMultifield('mult_attribute', '商品', '', ['name'=>'名称','value'=>'值'], '')
->fetch();
}
}

public function checkPackagePrice($mult_attribute){
$empty_num = 0;
foreach ($mult_attribute as $key => $row) {
if (empty($row['attribute_value']) || empty($row['attribute_name'])) {
$empty_num++;
}
}
if ($empty_num > 0) {
$this->error('每个子项的属性名或属性值必填');
}
}
效果图:

TIM截图20171004084505.jpg


TIM截图20171004084440.jpg

 

6 个评论

@dolphinphp 建议作为通用表单项,实用~
实用!感谢作者
追问一下~~数据库字段类型有限制吗。。数据库写不进去
数据库字段为varchar 或者text 因为存的是序列化字段 你可以模型设置该字段为 array 这样读取和存入自动json序列化
gyh9711

gyh9711 回复 chary

这个只是前端,后端需要处理,转为实际对应字段
多泄!测试了一下,一个模型添加多个多维数组字段,前端只能操作一个,回头我改一下试试。

要回复文章请先登录注册