我使用Select2在数据库中创建多个数据。
数据库中的我的语言字段:
English,French,Spanish我的控制器
public function store(UserCreateRequest $request)
{
$data = $request->all();
$data['languages'] = implode(',', $request['languages']);
User::create($data);
return redirect()->back()->with('message', 'Account Successfully Created');
}但在更新后,语言字段会发生如下更改
["English","French","Spanish"]在控制器中更新
public function update(Request $request, $id)
{
$user = User::findOrFail($id);
$user->update($request->all());
return redirect()->back()->with('message', 'Account Successfully Updated');
}我在编辑表单中使用in_array()来显示选定的数据
发布于 2020-08-03 17:36:42
你可以创建一个方法,或者重写你的更新方法
public function update(Request $request, $id)
{
$user = User::findOrFail($id);
$data = $request->all();
$data['languages'] = implode(',', $request['languages']);
$user->update($data);
return redirect()->back()->with('message', 'Account Successfully Updated');
}但我认为batter relation -> manyToMany -> language,表例
user {user_id, email, password}
user_language {user_language_id, user_id, language_id}
language {language_id, key, title}对于选择get all from language。对于将语言附加到用户,请使用attach方法。对于get all语言,只需在用户上调用->languages即可。等等。很抱歉我的英语,希望你能理解我。
https://stackoverflow.com/questions/63226832
复制相似问题