不言不语

您现在的位置是: 首页 >  PHP  >  ThinkPHP

ThinkPHP

【thinkphp】之复选框添加

2020-06-08ThinkPHP
【thinkphp】之复选框的添加详解

【简介】


这里把文章和复选框设计了2个表,复选框单独存的


这里标签是单独写的一个分类

1461c6d7a8816cd8b035227ceaeaebd.png


数据表


image.png


第一步:在添加页面把(上图)这个查出来,遍历



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------这个自定义,复选框二维数组


下图是遍历查出来的----


66182bec7338ddea195c50bec667341.png



第二步:添加--控制器


 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;

}


第四步:展示


4fb5e43a034988870c729707c1e1531.png


【详解】


ma_id----->文章的ID

tag_id----->复选框的ID

文章评论