php Laravel:获取复选框的值

ax6ht2ek  于 2022-10-30  发布在  PHP
关注(0)|答案(5)|浏览(237)

在下面的代码中我有多个复选框:

@foreach($camera_video as $video)
  <input type="checkbox" name="camera_video" value="{{$video->id}}"> <label>{{$video->name}}</label>
@endforeach

我想知道用户选中了哪些复选框。我只需要存储id(值)。在Laravel中最好的方法是什么?

pbgvytdp

pbgvytdp1#

你应该把你的复选框输入的名字更新为camera_video[]作为数组,这样你就可以开始了。你将得到输入数组。

<input type="checkbox" name="camera_video[]" value="{{$video->id}}"> <label>{{$video->name}}</label>

如果您使用的是Laravel 5.x.x,则应使用Request对象:

public function yourMethod(Request $request)
{
    $cameraVideo = $request->input('camera_video');
    ...
}
6rqinv9w

6rqinv9w2#

您可以使用

Input::all()

Input::get('camera_video')
kmynzznz

kmynzznz3#

你只需要把名字定义为一个数组,这样你就可以在Laravel中把输入取为数组了。

<input type="checkbox" name="camera_video[]" value="{{$video->id}}"> <label>{{$video->name}}</label>
2w3rbyxf

2w3rbyxf4#

您可以在请求对象上使用has函数来检查复选框的值是否存在,而不是在请求中,如下所示;

public function store(Request $request){
        if($request->has('terms')){
            //Checkbox checked
        }else{
            //Checkbox not checked
        }
}

形成多个;

public function store(Request $request){
        if(in_array('Mango', $request->get('fruits'))){
            //User likes Mangos
        }else{
           //User does not likes Mango
        }
    }

$request->get('fruits') this will return the array;
b4lqfgs4

b4lqfgs45#

对于一个视图中的多个复选框,您可以这样做。

@foreach($camera_video as $video)
   <input type="checkbox" name="camera_videos[]" value="{{$video->id}}"> 
   <label>{{$video->name}}</label>
@endforeach

在你的控制器里,你可以像@Buglinjo 's answer那样做,或者简单地使用foreach loop你只会得到选中的复选框的值

$camera_videos = $request->input('camera_videos');
foreach ($camera_videos as $camera_video) {
    //you can do whatever you want. I am saving it in MySqli DB
    $table = new Model;
    $table->video_id = $camera_video;
    $table->save();
}

相关问题