如何在Laravel 5.2中存储多选值

dol*_*lar 7 php multi-select laravel laravel-5.2

我有一个存储新闻的表格.

在此输入图像描述

在这里我使用Multiselect,我想保存表中的所有选定选项,如用户,员工,电影院作为字符串.

我的控制器函数存储值是

 public function store(Request $request)
{

    $input=$request->all();

    General_news::create($input);
    return redirect()->back();
}
Run Code Online (Sandbox Code Playgroud)

此函数存储所有提交的字段,但对于多选,它仅存储最后一个选项,即cinemahall

在此输入图像描述

提交表单时,将显示所有选定的选项,但不会正确保存在数据库表中.

帮我解决这个问题.

Cha*_*y22 20

确保将name属性设置为数组

<select multiple="multiple" name="news[]" id="news">
Run Code Online (Sandbox Code Playgroud)

将其存储为以逗号分隔的字符串

$news = $request->input('news');
$news = implode(',', $news);
Run Code Online (Sandbox Code Playgroud)

你有一个看起来像的字符串Users,staff,cinemahall.现在,您可能需要逐个检索所有输入,因为您需要改变该news值.此外,您还可以使用except()方法news从批量中获取所有值.

$news = $request->input('news');
$news = implode(',', $news);

$input = $request->except('news');
//Assign the "mutated" news value to $input
$input['news'] = $news;

General_news::create($input);
return redirect()->back();
Run Code Online (Sandbox Code Playgroud)