Php 如何在Laravel 5.2中存储多选值

Php 如何在Laravel 5.2中存储多选值,php,laravel,laravel-5.2,multi-select,Php,Laravel,Laravel 5.2,Multi Select,我有一个储存新闻的表格 在这里,我使用Multiselect,并希望将表中所有选定的选项保存为字符串,例如Users、staff、cinemahall 我的控制器存储值的功能是 public function store(Request $request) { $input=$request->all(); General_news::create($input); return redirect()->back(); } 此函数存储所有提交的字段,

我有一个储存新闻的表格

在这里,我使用Multiselect,并希望将表中所有选定的选项保存为字符串,例如Users、staff、cinemahall

我的控制器存储值的功能是

 public function store(Request $request)
{

    $input=$request->all();

    General_news::create($input);
    return redirect()->back();
}
此函数存储所有提交的字段,但对于multiselect,它只存储最后一个选项,即cinemahall

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


请帮助我解决此问题。

请确保将“名称”属性设置为数组

<select multiple="multiple" name="news[]" id="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();

如果您使用的是multiselect,这可能意味着您需要一个多对多关系和透视表。有点像
帖子
可以属于许多
标签
标签
可以属于许多
帖子

在您的情况下,这可能介于
新闻
新闻类型
表格之间。

谢谢@Chay22

您还可以使用变异器和访问器


您能用html标记更新您的问题吗?谢谢您的回答,但我想将其作为字符串存储在单个表中,而不是维护多个表及其关系。。。。我知道我的方法不适合数据库的规范化…谢谢你的帮助,还有一个查询,你能帮我做相反的事情吗?现在在编辑时,我想从表中提取字符串并将其显示为multiselect。要将字符串转换为数组,你可以使用
explode(',',$string)
$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();
public function setFooAttribute($value)
{
    $this->attributes['foo'] = implode(',',$value);
}

public function getFooAttribute($value)
{
    return explode(',',$value);
}