gpt4 book ai didi

php - 如何在数据库的单个列中保存多个复选框值并使用 laravel 检索它

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:18 24 4
gpt4 key购买 nike

我的管理面板上有 15 个复选框,因此只有网站管理员可以选择或取消它们。

我需要像这样保存在我的表中选中的复选框:

Name: car,food,game,...

HTML:

{{Form::open(['action'=>'adminHobbyController@store'])}}
<div class="form-group">
<label for="art" class="checkbox-inline">
{{Form::checkbox('art[]','art')}}Art
</label>
<label for="artitecture" class="checkbox-inline">
{{Form::checkbox('artitecture[]','artitecture')}}Artitecture
</label>
<label for="business" class="checkbox-inline">
{{Form::checkbox('business[]','business')}}Business
</label>
...
<div class="form-group">
{{Form::submit('ADD',['class'=>'form-control'])}}
</div>
{{Form::close()}}

我的 Controller 存储函数:

 public function store(Request $request)
{
$add_hobby=new Hobbies;
$add_hobby->name=$request->all();
$add_hobby->save();
return redirect()->back();
}

也试试这个,但只保存最后一个:

public function store(Request $request)
{
$add_hobby=new Hobbies;
$add_hobby->name=$request->input('car');
$add_hobby->name=$request->input('food');
...
$add_hobby->name=$request->input('fashion');
$add_hobby->save();
return redirect()->back();
}

我也试过了,但我得到了错误:

 public function store(Request $request)
{
$request->merge([
'name' => implode(',', (array) $request->input('game')),
'name' => implode(',', (array) $request->input('food')),
...
'name' => implode(',', (array) $request->input('fashion')),
]);

$add_hobby=new Hobbies;
$add_hobby->name=$request->input()->all();
$add_hobby->save();
return redirect()->back();
}

有人可以帮忙吗?

当然没有必要保存在一列,但我也不知道另一种保存方式

最佳答案

这样做会创建多个数组

{{Form::checkbox('art[]','art')}}Art

Insted of art[] use seomthing like hobby[] 然后将 art 作为值

试试这个

    <label for="art" class="checkbox-inline">
{{Form::checkbox('hobby[]','art')}}Art
</label>
<label for="artitecture" class="checkbox-inline">
{{Form::checkbox('hobby[]','artitecture')}}Artitecture
</label>
<label for="business" class="checkbox-inline">
{{Form::checkbox('hobby[]','business')}}Business
</label>
...
<div class="form-group">
{{Form::submit('ADD',['class'=>'form-control'])}}
</div>

然后在你的 Controller 中你会做类似的事情

foreach ($request->input("hobby") as $hobby){
$add_hobby = new Hobbies;
$add_hobby->name= $hobby;
$add_hobby->save();
}

关于php - 如何在数据库的单个列中保存多个复选框值并使用 laravel 检索它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44289936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com