【thinkphp】之复选框添加
【简介】
这里把文章和复选框设计了2个表,复选框单独存的
这里标签是单独写的一个分类
数据表
第一步:在添加页面把(上图)这个查出来,遍历
html--添加代码---复选框
<div class="layui-form-item">
<label class="layui-form-label">教授课程:</label>
<div class="layui-input-block" >
{volist name="data" id="vv"}
<input type="checkbox" name="like[]" value="{$vv.did}" title="{$vv.pro_name}" >
{/volist}
</div>
</div>
name------这个自定义,复选框二维数组
下图是遍历查出来的----
第二步:添加--控制器
public function save(Request $request)
{
$MatagModel=new MatagModel();
$aa=$request->param();
//判断选中没选中,没选中自动跳转,
if(!isset($aa['like'])){
return json(['status'=>'success','msg'=>'请选择标签']);
}
unset($aa['file']);//删除多余的字段,图片的,无视这个
$ManagementModel=new ManagementModel();//实例化模型
$data=$ManagementModel->addMan($aa);//把获取的数据传到模型
if($data){
return json(['status'=>'success','msg'=>'增加成功']);
}
return json(['status'=>'info','msg'=>'增加失败']);
}
第三步:模型代码
public function addMan($aa){
$data= $this->allowField(true)->save($aa);//allowField(true)排除数据库没有的字段
if($data){
//文章标签中间表的添加
foreach($aa['like'] as $v){
$manTagdata=[
'ma_id'=>$this->id,//必须save方法添加,获取自增ID,通俗讲就是你文章增加成功,那个文章的ID
'tag_id'=>$v,//复选框的ID
];
//把like这个数组循环出来,值复制到tag_id
$MatagModel=new MatagModel;//实例化标签模型
$MatagModel->save($manTagdata);//添加到数据库
}
}
return $data;
}
第四步:展示
【详解】
ma_id----->文章的ID
tag_id----->复选框的ID