下面这个复选框提交到后台,有3个问题弄不清,请大神帮说明一下。问题具体描述如下,用restful风格来说明:
下面是“创建页面(create)”的代码,就是一些复选框和另外一个email的输入框:
<code>{!! Form::open(array('url' => 'foo/bar')) !!} <fieldset class="form-group"> <label for="email1">Email</label> <input type="email" class="form-control" id="email1" placeholder=""> </fieldset> <div class="checkbox"> <label class="checkbox-inline"> <input type="checkbox" id="checkbox1" name="checkbox1" value="1"> 苹果 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox2" name="checkbox2" value="1"> 香蕉 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox3" name="checkbox3" value="1"> 凤梨 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox4" name="checkbox4" value="1"> 车厘子 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox5" name="checkbox5" value="1"> 樱桃 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox6" name="checkbox6" value="1"> 柑橘 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox7" name="checkbox7" value="1"> 葡萄 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox8" name="checkbox8" value="1"> 龙眼 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox9" name="checkbox9" value="1"> 椰子 </label> </div> <button type="submit" class="btn btn-primary">Submit</button> {!! Form::close() !!}</code>
填写的email和被选中的复选框发送到后台,问题如下:
1、这个email和这些复选框是保存在一张数据表上,还是分开用两张数据表比较好呢?因为选择复选框的项是不定的,所以不知道怎么设计数据表。
2、复选框这么多项,还有一个email,控制器中store方法怎么写呢,眉毛胡子一把抓吗?
<code>//不知道怎么写store方法。 public function store(Request $request) { $requirement = Requirement::create($request->all()); return redirect()->action('RecruitmentsController@show', ['id' => $requirement->id]); }</code>
数据保存到数据表后,要方便实现以下两点:
1、在“编辑页面(edit)”,要能够还原“创建页面(create)”时选择的项,也就是创建时选中的项处于选中状态,没选中的项处于没选中状态。
2、在“显示页面(show)”,显示选中的项,不显示没选中的项。第3个问题就是,在数据表中应该保存什么呢?比如选择了“苹果”,那就应该显示“苹果”,上面我写的是value="1",需要换成value=“苹果”吗,还是随便都可以,怎么保存比较方便?
请大神帮说一下思路,最好在控制器示意一下代码,谢谢。
下面这个复选框提交到后台,有3个问题弄不清,请大神帮说明一下。问题具体描述如下,用restful风格来说明:
下面是“创建页面(create)”的代码,就是一些复选框和另外一个email的输入框:
<code>{!! Form::open(array('url' => 'foo/bar')) !!} <fieldset class="form-group"> <label for="email1">Email</label> <input type="email" class="form-control" id="email1" placeholder=""> </fieldset> <div class="checkbox"> <label class="checkbox-inline"> <input type="checkbox" id="checkbox1" name="checkbox1" value="1"> 苹果 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox2" name="checkbox2" value="1"> 香蕉 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox3" name="checkbox3" value="1"> 凤梨 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox4" name="checkbox4" value="1"> 车厘子 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox5" name="checkbox5" value="1"> 樱桃 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox6" name="checkbox6" value="1"> 柑橘 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox7" name="checkbox7" value="1"> 葡萄 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox8" name="checkbox8" value="1"> 龙眼 </label> <label class="checkbox-inline"> <input type="checkbox" id="checkbox9" name="checkbox9" value="1"> 椰子 </label> </div> <button type="submit" class="btn btn-primary">Submit</button> {!! Form::close() !!}</code>
填写的email和被选中的复选框发送到后台,问题如下:
1、这个email和这些复选框是保存在一张数据表上,还是分开用两张数据表比较好呢?因为选择复选框的项是不定的,所以不知道怎么设计数据表。
2、复选框这么多项,还有一个email,控制器中store方法怎么写呢,眉毛胡子一把抓吗?
<code>//不知道怎么写store方法。 public function store(Request $request) { $requirement = Requirement::create($request->all()); return redirect()->action('RecruitmentsController@show', ['id' => $requirement->id]); }</code>
数据保存到数据表后,要方便实现以下两点:
1、在“编辑页面(edit)”,要能够还原“创建页面(create)”时选择的项,也就是创建时选中的项处于选中状态,没选中的项处于没选中状态。
2、在“显示页面(show)”,显示选中的项,不显示没选中的项。第3个问题就是,在数据表中应该保存什么呢?比如选择了“苹果”,那就应该显示“苹果”,上面我写的是value="1",需要换成value=“苹果”吗,还是随便都可以,怎么保存比较方便?
请大神帮说一下思路,最好在控制器示意一下代码,谢谢。
有一种大学做作业的感觉!
先做一个管理功能把所有水果数据表维护好
1.添加页面把所有水果数据循环让用户选择,value里面放fruit_id,提交表单把email存在form表,N个fruit_id的多条记录存储在form_fruit表,用form_id关联加个事务,避免数据丢了
2.编辑页面的时候把主键对应的email、fruit_id列表数据读出来,然后fruit_id列表和全部水果列表数据循环的时候去比较如果等于的就选中